authentication - 多个网站的 JWT token

标签 authentication cross-domain jwt

如何在多个网站之间共享单个 JWT token 。我认为第一件事是在所有网站上拥有相同的 secret 。

如果用户登录站点 A 并生成 token ,我想在完全不同的域上为网站 B 使用相同的 token 。

可以做到吗?

最佳答案

你想要的可以做,但不能用 单例 JWT token 。 JWT token 适用于受众 (aud) 声明所指示的特定服务或应用程序。您不能对另一个应用程序或服务使用相同的 token 。

通常会发生什么使您的 SSO场景工作,即用户登录到 token 发布(授权)服务器。只要该 session 有效,用户就可以获得服务器可以为其发出 token 的所有应用程序的 token 。

因此,当用户登录到第一个应用程序时,授权服务器会设置一个 cookie 来建立 session 。当用户导航到第二个应用程序时,应用程序会将他/她重定向到授权服务器进行身份验证。授权检测 session cookie 并且不会提示用户再次登录,而是为第二个应用程序发出新的 JWT token 。

关于authentication - 多个网站的 JWT token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35423800/

相关文章:

c# - 使用 Webbrowser C# 读取 iframe 内容

jwt - Azure AD B2C - token 验证不起作用

php - JWT 中的注销不起作用

ios - Auth0 Credentials 对象的到期日期属性始终为零

node.js - Node : "req.session.save is not a function" error during authentication

html - HTTP 基本身份验证 - 仅密码,无用户名?

创建用户后 Flutter Firebase 身份验证应用程序崩溃

检测第三方cookie是否被禁用的JavaScript解决方案

javascript - 创建 iframe 然后修改其内容

security - 登录时应该使用随机数吗?