我在子域上托管了单独的身份验证应用程序和多个spa应用程序,并且我希望将身份验证应用程序生成的JWT令牌(用户从身份验证应用程序登录时生成)共享到托管在子域下的其他应用程序。我怎样才能做到这一点? 例如:xyz.com是主域名,x1.xyz.com,x2.xyz.com是子域名)
答案 0 :(得分:4)
基本上你需要一个SingleSignOn系统。在选择协议或框架之前(或不选择),请考虑您需要什么样的流程:
选项1重定向 :(例如openid或saml)在主域登录后,将用户重定向到发送JWT的子域。从子域跳转到其他子目录时附加令牌。根据主域中的会话启用经典SSO,以便在没有令牌的情况下直接访问子域时重定向用户。
选项2跨域共享令牌:(例如google网站)在主域中进行身份验证并将JWT存储在从SPA连接的主域的cookie / localStorage中使用iframe的子域请在此处查看完整答案:https://stackoverflow.com/a/40555970/6371459