禁用第三方Cookie的JWT单点登录iframe技术

时间:2018-06-05 16:04:17

标签: iframe cookies jwt single-sign-on

我使用JWT令牌在多个域上使用登录/注销/刷新开发了单点登录策略。 SSO通过postMessage iframe进行管理,如下所述:Single sign-on flow using JWT for cross domain authentication

我遇到的问题是用户在浏览器中禁用了第三方Cookie。

然后使用iframe的postMessage技术不再起作用了:

  • 自上而下传递消息(在iframe中设置cookie)时,它失败
  • 当自下而上传递消息(读取iframe中的cookie)时,它也会失败

因此,我必须为所有使用已停用的第三方Cookie的用户开发后备工作流程。

它的工作方式如下:

  • 用户登录auth服务器
  • 在auth服务器上设置cookie
  • 用户被重定向回pageA,另一个cookie(具有相同的内容)在那里
  • 用户访问pageB并希望登录
  • 用户被重定向到auth服务器。 cookie被识别,用户被重定向回pageB,另一个cookie(再次使用相同的内容)isset
  • 现在所有3个Cookie都“同步”
  • 当用户在pageB上刷新其令牌时,问题就出现了。然后他无法在pageA上再次刷新它,他必须再次登录第A页
  • 因为访问令牌的TTL很短,这是一种非常糟糕的体验

我的结论是:如果用户已禁用第三方Cookie,请删除整个SSO。用户只需登录每一页。

我是对的还是我缺少的东西?

0 个答案:

没有答案