首页 > 解决方案 > 通过 JWT 进行的共享秘密身份验证是否安全?

问题描述

我想知道通过签署 JWT 是否可以实现一种“共享秘密 sso”。它安全吗?这是一个众所周知的流程,有一个我可以用谷歌搜索的名字吗?

场景(所有网络请求都通过 HTTPS):

  1. 假设有一个名为 Whiskey 的应用程序,其中用户有一个经过身份验证的会话。威士忌已与应用程序 Tango 预先共享了一个秘密。

  2. Whiskey 使用此预共享密钥签署 JWT

  3. Whiskey 使用查询字符串中的 JWT 重定向到 Tango Web 应用程序

  4. Tango webapp 通过 post 请求将 JWT 发送到 Tango api

  5. Tango api 使用共享密钥来验证 JWT

  6. Tango api 解码 JWT 并通过 Whiskey 发送的 JWT 有效负载中的电子邮件从其自己的数据中加载用户

  7. Tango api 创建一个新的 JWT 并使用不同的秘密对其进行签名

  8. Tango api 回复 Tango web 应用程序,通过响应正文传递新的 JWT。

  9. Tango webapp 现在使用这个 JWT 向 Tango api 发出 api 请求。

标签: authenticationjwtsingle-sign-on

解决方案


推荐阅读