G'day! В дополнение к 40781534, для которого принят ответ должен установить SameSite=Lax
:Как я могу перенаправить после OAUTH2 с SameSite = Strict и все еще получать мои файлы cookie?
Как я могу установить SameSite=Strict
печенье на перенаправлении себя таким образом, что я буду получать печенье обратно из Chrome 56.0.2924.87
, даже если запрос пользователя сам был перенаправлением со страницы входа в мой провайдер OAUTH2?
Полный запрос цепи:
POST https://provider.com/callback
→302 FOUND
с:Location: https://me/login?code=xxx&state=yyy
GET https://example.com/login?code=xxx&state=yyy
→302 FOUND
или303 SEE OTHER
(кажется, не имеет значения) с:Location: https://example.com/destination Set-Cookie: sid=zzzz; Secure; HttpOnly; SameSite=Strict; Path=/
GET https://example.com/destination
→401 GET OFF MY LAWN
, потому что браузер не представитsid
печеньеGET https://example.com/destination
→200 OK
если я обновить, потому что тогда сайт совпадает и мой браузер представляетsid
печенье
я ценю потенциал CSRF для представления sid
до /destination
для общего случая последней загруженной страницы пользователя, не находящейся на example.com
, но Я только что установил его от /login
, и я сейчас перенаправляю на /destination
.
Несомненно, я мог бы установить SameSite=Lax
, но тогда не было бы какой-то возможности для клик-подъема, если бы кто-то мог найти способ переназначить их выбор с моего сайта путем неправильного формирования URL-адреса?