首页 > 解决方案 > 使用 JWT 的跨域链接认证

问题描述

我有一个链接,其中包含一个参数,该参数token是将在另一个域中验证的 JWT 令牌。我正在努力解决用户可以在多个浏览器或与其他用户之间复制和共享该链接的事实。

jwt 有效负载如下所示:

{
  "userId": "46",
  "role": "User",
  "nbf": 1589877059,
  "exp": 1589963459,
  "iat": 1589877059
}

我的目标是在对第二个域上的用户进行身份验证时,确保该链接不被当前用户共享。

我是否遗漏了某些东西,或者是否有任何其他方法可以保护跨不同域的链接?任何建议都非常感谢。

更新

我正在尝试的一种方法是将最后一个活动存储SessionId在数据库中并在两侧验证它。如果令牌有效且实际SessionId与最后一个活动 id 不同,则重定向到某个未经授权的页面。但缺点是用户将需要会话身份验证而不是 cookie 身份验证,因为每次用户关闭浏览器时会话都会重置,但 cookie 将保持不变。

标签: securitycross-domainjwt-auth

解决方案


推荐阅读