Добрый день!
Как в Angular при старте клиентского кода проверить залогинен ли пользователь?
Авторизация происходит через express-session, и просто хранит id сессии в куки, т.е. что-бы узнать залогинен ли пользователь, нужно делать запрос к API бэка. Как сделать этот запрос до запуска Angular?
P.S. Ставить в ng-init и вообще в html статус залогинености на момент запроса, считаю костылем
P.S. Ставить в ng-init и вообще в html статус залогинености на момент запроса, считаю костылем
ng-init это вы о чем? Есть run у модулей, там такие проверки можно делать. Или в ресолвах роутера (что даже лучше).
В целом же если вам нужна максимальная защита - то делаем обычную логин форму и отдаем html-ку с ангуляром только авторизованным чувакам. Токены всякие в этом случае через http-only куки.
HoHsi: у роутеров есть такая штука как ресолверы (resolve) - они отрабатывают до загрузки какого-то стэйта и должны вернуть промис (или данные). Соответственно они могут так же реджектнуть переход на конкретный скрин (или вообще на все, если вы юзаете uiRouter и определили базовый стэйт.