如何在多个网站之间共享单个 JWT 令牌。我假设第一件事是在所有网站上拥有相同的秘密。
如果用户在站点 A 上登录并生成令牌,我想在完全不同的域上对网站 B 使用相同的令牌。
能做到吗?
你想要的可以完成,但不能用单个 JWT 令牌。JWT令牌用于受众(aud
(声明所指示的特定服务或应用程序。不能将同一令牌用于其他应用程序或服务。
使 SSO 方案正常工作通常会发生的情况,即用户登录到令牌颁发(授权(服务器。只要该会话有效,用户就可以获取服务器可以为其颁发令牌的所有应用程序的令牌。
因此,当用户登录到第一个应用程序时,授权服务器会设置一个cookie来建立会话。当用户导航到第二个应用程序时,应用程序会将他/她重定向到授权服务器进行身份验证。授权检测会话 cookie,并且不会提示用户再次登录,但会为第二个应用程序颁发新的 JWT 令牌。