如何在多个子域之间共享 JWT 令牌?

Kar*_*y V 5 jwt jhipster

我在子域上托管了单独的身份验证应用程序和多个 spa 应用程序,并且我想将生成的 JWT 令牌(当用户从​​身份验证应用程序登录时生成)从身份验证应用程序共享到子域下托管的其他应用程序。我怎样才能做到这一点?例如:xyz.com 是主域,x1.xyz.com、x2.xyz.com 是子域)

ped*_*ofb 8

基本上你需要一个 SingleSignOn 系统。在选择协议或框架(或不选择)之前,请考虑您需要什么样的流程:

  • 选项 1 重定向:(例如 openid 或 saml)登录主域后,将用户重定向到发送 JWT 的子域。从子域跳转到其他域时附加令牌。启用基于主域中的会话的经典 SSO,以在无需令牌的情况下直接访问子域时重定向用户。

  • 选项 2 跨域共享令牌:(例如 google webs)在主域中进行身份验证并将 JWT 存储在主域的 cookie/localStorage 中,该主域使用 iframe 从子域中的 SPA 连接在这里查看完整答案:https:// stackoverflow.com/a/40555970/6371459