【问题标题】:Do I Pass the Identity Token in a Header or Body of a Post Request?我是否在发布请求的标头或正文中传递身份令牌?
【发布时间】:2021-12-12 07:06:54
【问题描述】:

标题中的访问令牌和刷新令牌对我来说很有意义(来自this 答案),但我想知道对于 ID 或身份令牌也是如此。应该是:

  1. 已传递到发布请求的正文中?
  2. 传入某个标头(授权标头由访问令牌使用)
  3. 别的东西(我误解了身份令牌的用途)

更多上下文,通过 SSO,我想获取用户的声明(仅存在于身份令牌中)并在我的系统中注册。我可以确认我可以通过将身份令牌放入初始 POST 请求的正文中轻松做到这一点(并验证服务器上的签名),但想检查我是否违反了某些标准。

谢谢!

【问题讨论】:

    标签: oauth jwt single-sign-on access-token


    【解决方案1】:

    原则上你可以传递 ID 令牌,假设:

    1. 使用和验证 ID 令牌(依赖方,RP)的软件与目标系统属于同一应用程序和安全域
    2. RP 和目标系统之间的链接是安全的,即双方的身份验证和通信的机密性都已建立
    3. 目标系统确实需要 ID 令牌中的所有信息,否则最好应用最少的披露并仅传递信息的子集

    如果数据量相对较小,在标头中传递 ID 令牌(或声明的子集)可能会起作用,否则您可能会遇到 HTTP 标头长度限制。虽然使用 POST 的缺点是必须在运行中修改应用程序请求,这可能会更困难并且会产生副作用。

    为了完整起见,刷新令牌永远不会在标头中传递,而只会由 RP 在 POST 请求中发送到授权服务器/提供者。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-08
      • 2020-11-23
      • 1970-01-01
      • 2017-11-24
      • 2021-08-17
      • 2016-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多