Сейчас становится очень популярным подход SPA с Web API на бэкенде. Соответственно я думаю уже есть устоявшийся подход к обеспечению безопасности. Раз используется API, то юзаются JWT токены. Из всего, что я вычитал в интернете, вырисовывается следующий подход: пользователю выдается jwt токен, который хранится в http only куке. Т.к. API хостится в другом домейне, то куке устанавливается этот домен что-бы она могла быть отправлена с запросом. Т.к. кука подвержена CSFR, то дополнительно используется double submit подход, т.е. дополнительно специальная кука, которая также записывается в хэдер.
Правильно-ли все это, или может еще какие-то моменты есть? Используем Angular 4, т.е. теоретически от XSS сайт очень хорошо защишен, может и не стоит тогда с куками заморачиваться, а просто хранить токен в local storage?
Здравствуйте, Stalker., Вы писали:
S>Сейчас становится очень популярным подход SPA с Web API на бэкенде. Соответственно я думаю уже есть устоявшийся подход к обеспечению безопасности. Раз используется API, то юзаются JWT токены. Из всего, что я вычитал в интернете, вырисовывается следующий подход: пользователю выдается jwt токен, который хранится в http only куке. Т.к. API хостится в другом домейне, то куке устанавливается этот домен что-бы она могла быть отправлена с запросом. Т.к. кука подвержена CSFR, то дополнительно используется double submit подход, т.е. дополнительно специальная кука, которая также записывается в хэдер. S>Правильно-ли все это, или может еще какие-то моменты есть? Используем Angular 4, т.е. теоретически от XSS сайт очень хорошо защишен, может и не стоит тогда с куками заморачиваться, а просто хранить токен в local storage?
если хранить в local storage, то с загрузкой картинок (хороший пример, если они тоже должны быть под авторизацией) могут возникнуть проблемы. из-за того, что куки все таки передаются браузером "автоматом", то в случае LS, придется городить костыли — например вставлять тот же jwt в URL картинки, что выглядит не очень красиво, так и в плане безопасности сильно не очень