团队正在实施自动售货网络应用程序。该项目的一部分是使供应商获得chrome扩展以使用SSO。为了进行身份验证,Chrome扩展程序需要两个Cookie才能完成身份验证。由于某种原因,其中一个cookie永远不会放在浏览器中。
当我尝试从非联合环境向Chrome扩展程序进行身份验证时,向Chrome扩展程序的身份验证可以正常工作,并且每次都会在浏览器中放置两个cookie。
但是,当我尝试在我们的联合环境上进行SSO时,带有chrome扩展名的SSO失败,并抛出一条错误消息,提示我缺少Cookie。当我检查Chrome Cookie时,请确保足够缺少Cookie。实际上,在联邦环境中,Cookie永远不会落到浏览器中。
在我的联合环境中浏览提琴手跟踪,可以看到包含所需cookie的响应。
我可以在提琴手的踪迹中看到Cookie试图在Win10 1703的Chrome(版本69.0.3497.81)中发送。
当我查看提琴手的踪迹时,会看到以下响应:
HTTP/1.1 200 OK
Server: insert server type here
Date: Wed, 21 Nov 2018 23:45:46 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
vary: origin,accept-encoding
access-control-allow-origin: https://app.vendor.com
access-control-allow-credentials: true
access-control-expose-headers: WWW-Authenticate,Server-Authorization
set-cookie: XSRF-VENDOR= "**INSERT TOKEN HERE**"; Secure; SameSite=Strict;
Domain=.vendor.com; Path=/
set-cookie: XSRF-VENDOR-2=**INSERT TOKEN HERE**; Secure; Domain=.vendor.com; Path=/
cache-control: no-cache
Strict-Transport-Security: max-age=15724800; includeSubDomains;
Content-Length: 76
{"token":"insert token here"}
但是,当我在身份验证后检查浏览器时,未设置这两个Cookie。以前有没有人看过这样的东西?