JWT токены в SPA + Web API
От: Stalker. Австралия  
Дата: 19.01.18 03:29
Оценка:
Сейчас становится очень популярным подход SPA с Web API на бэкенде. Соответственно я думаю уже есть устоявшийся подход к обеспечению безопасности. Раз используется API, то юзаются JWT токены. Из всего, что я вычитал в интернете, вырисовывается следующий подход: пользователю выдается jwt токен, который хранится в http only куке. Т.к. API хостится в другом домейне, то куке устанавливается этот домен что-бы она могла быть отправлена с запросом. Т.к. кука подвержена CSFR, то дополнительно используется double submit подход, т.е. дополнительно специальная кука, которая также записывается в хэдер.
Правильно-ли все это, или может еще какие-то моменты есть? Используем Angular 4, т.е. теоретически от XSS сайт очень хорошо защишен, может и не стоит тогда с куками заморачиваться, а просто хранить токен в local storage?
Re: JWT токены в SPA + Web API
От: DTB Россия  
Дата: 23.01.18 10:28
Оценка:
Здравствуйте, 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 картинки, что выглядит не очень красиво, так и в плане безопасности сильно не очень
Have fun...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.