Опять пригорать начало. Короче я распутал вчерашнее говно. Дело обстоит так:
1) в app.component диспатчится экшон LoginAction
2) Перехватывается в эффекте и там же шлется запрос на сервер, который типа хранит авторизацию (да-да, проверяется рестом. не в куках каких-нить или стораже)
3) В ответе еще 2 экшона: LoginActionSuccess и LoginSuccessError.
4) Далее магия происходит в гарде. Там подписка на глобальный стор с аккаунтами. Если LoginActionSuccess то авторизует, если не то кидает на страницу логина.
А теперь вторая часть марлезонского балета:
1) Все то же самое с гардом и success error на Logout! (Бля, надо же просто очистить стор и кинуть на форму логина)
2) У стора логина есть странный параметр loading, который почему-то делает глобальный лоадер на всех страницах. Хочешь что-нибудь сохранить? - вызываешь loading и юзера.
3) в app.component кроме диспатча логина есть еще и подписка. На изменения в сторе логина, который присылает модель юзера, который приходит от реста, который шлется из эффекта, который как раз и подписан на LoginAction
4) там же, чуть ниже, подписка на эффект экшона который LOGOUT_SUCCESS и он делает this.router.navigate(['/login']); - бинго!