authentication - 通过 JWT 进行的共享秘密身份验证是否安全?
问题描述
我想知道通过签署 JWT 是否可以实现一种“共享秘密 sso”。它安全吗?这是一个众所周知的流程,有一个我可以用谷歌搜索的名字吗?
场景(所有网络请求都通过 HTTPS):
假设有一个名为 Whiskey 的应用程序,其中用户有一个经过身份验证的会话。威士忌已与应用程序 Tango 预先共享了一个秘密。
Whiskey 使用此预共享密钥签署 JWT
Whiskey 使用查询字符串中的 JWT 重定向到 Tango Web 应用程序
Tango webapp 通过 post 请求将 JWT 发送到 Tango api
Tango api 使用共享密钥来验证 JWT
Tango api 解码 JWT 并通过 Whiskey 发送的 JWT 有效负载中的电子邮件从其自己的数据中加载用户
Tango api 创建一个新的 JWT 并使用不同的秘密对其进行签名
Tango api 回复 Tango web 应用程序,通过响应正文传递新的 JWT。
Tango webapp 现在使用这个 JWT 向 Tango api 发出 api 请求。
解决方案
推荐阅读
- c# - 如何标记通用委托以接受空值?
- javascript - 尽管我确实将 jQuery 添加到我的 HTML 文件中,但获得淡入淡出不是一个函数
- sql-server - 基础提供程序在打开时失败。连接超时已过期
- linux - 是否可以在 bash 中制作磁盘列表?
- java - 创建 JWT 令牌的问题
- javascript - localStorage 未定义 NextJS
- javascript - onClick 函数在更改时运行?
- python - __subclasses__ 还是通过 __init_subclass__ 注册的?
- python - 我编写了以下代码在 Pycharm 中制作网格。无法进行数学计算
- macos-catalina - 在 Catalina 上,Xcode 10 每次启动都经过“验证”