security - 使用 JWT 的跨域链接认证
问题描述
我有一个链接,其中包含一个参数,该参数token
是将在另一个域中验证的 JWT 令牌。我正在努力解决用户可以在多个浏览器或与其他用户之间复制和共享该链接的事实。
jwt 有效负载如下所示:
{
"userId": "46",
"role": "User",
"nbf": 1589877059,
"exp": 1589963459,
"iat": 1589877059
}
我的目标是在对第二个域上的用户进行身份验证时,确保该链接不被当前用户共享。
我是否遗漏了某些东西,或者是否有任何其他方法可以保护跨不同域的链接?任何建议都非常感谢。
更新
我正在尝试的一种方法是将最后一个活动存储SessionId
在数据库中并在两侧验证它。如果令牌有效且实际SessionId
与最后一个活动 id 不同,则重定向到某个未经授权的页面。但缺点是用户将需要会话身份验证而不是 cookie 身份验证,因为每次用户关闭浏览器时会话都会重置,但 cookie 将保持不变。
解决方案
推荐阅读
- wpf - 在 WPF xaml 代码中设置 chartingToolkit:PieSeries 样式
- c - 彩票生成器不会洗牌
- asp.net - 将网格视图的某些列映射到 DataTable
- ios - 如何检测已添加 UIView 子视图?
- r - 使用来自另一个向量的中断将 R 中的向量切割成间隔
- javascript - Babel 自定义插件 - 插件顺序
- java - 我需要显示文件中的某一行
- c++ - Windows 非 ASCII 文件路径
- python - Python pandas:使用 ~df.type.isin 和 != 的多列过滤器
- tensorflow - 如何在 google colab 中降级到 tensorflow-gpu 1.12 版