Атрибут SameSite в файлах cookie - PullRequest
1 голос
/ 13 января 2020

У меня есть сайт a.com, на котором сторонние приложения указывают на apps.b.com. Когда я захожу на a.com, я также аутентифицируюсь на apps.b.com в фоновом режиме, используя те же учетные данные. Это значит, что пользователям не нужно входить в систему для доступа к apps.b.com. Я понимаю, что при отправке запроса браузер отправляет все файлы cookie на apps.b.com. Вот как это работает сейчас. Читая статью https://web.dev/samesite-cookies-explained/ в отношении атрибута SameSite, кажется, что apps.b.com является сторонним сайтом. Теперь мне нужно настроить веб-сервер на a.com, чтобы установить для Cook ie значение SameSite = none; Безопасный ИЛИ Мне нужно установить SameSite = none; Безопасный на веб-сервере apps.b.com?

1 Ответ

1 голос
/ 13 января 2020

Каждый раз, когда вы делаете межсайтовый запрос, который требует куки, эти куки должны быть отмечены SameSite=None; Secure.

Так, например, если пользователь на a.com, и у вас есть <iframe> или fetch() до apps.b.com, которые ожидают куки, тогда apps.b.com куки нужны SameSite=None; Secure.

И наоборот, если пользователь на apps.b.com и вы делаете запросы на a.com, чтобы проверить их статус авторизации, опираясь на a.com куки-файлы, тогда эти куки-файлы нуждаются в SameSite=None; Secure.

По сути, вы ищете шаблон, когда сайт в строке адреса браузера отличается от сайт, которому нужны куки, то это куки, которые нужно пометить. Так что, в зависимости от вашей настройки, это может быть один или оба.

...