【问题标题】:Subject Identifier and ID Token/Userinfo Endpoint/Introspection Endpoint主题标识符和 ID 令牌/用户信息端点/自省端点
【发布时间】:2016-08-28 21:57:21
【问题描述】:

根据 OpenId Connect 规范,在 ID 令牌中或从 Userinfo 端点返回的主题标识符可能是 public or pairwise。 如果是成对的主题标识符,则使用重定向 Uri 或扇区标识符 Uri 计算。

我的问题是:

  1. 由于Userinfo request 中没有重定向uri,如何计算成对主题标识符?这是否意味着访问令牌必须包含重定向 Uri(或公共和成对主题标识符)?
  2. 客户端和资源服务器可以调用introspection endpoint。在Introspection Response 中,资源服务器应该在客户端等待成对的标识符时获取公共主题标识符。怎么可能实现。与上一个问题一样,这是否意味着访问令牌必须包含附加信息才能根据谁调用端点来计算主题标识符?

提前致谢。

【问题讨论】:

    标签: oauth-2.0 openid-connect


    【解决方案1】:

    首先,客户端配置为公共 ID 或成对 ID,但不能同时配置两者(这可能会破坏首先使用成对 ID 的额外隐私目的。因此,任何端点的调用者(无论是 UserInfo或内省)永远不会看到它们混合在一起。

    Provider 如何将访问令牌映射到主题?

    对于经典的不透明访问令牌(即随机字符串),提供者只保留一个从访问令牌到主题的查找表(成对与否,无关紧要)。

    对于结构化(例如 JWT)访问令牌,它确实可以从(已验证)令牌本身中查找主题。但在这种情况下,也永远不需要从公共主题中进行成对计算(甚至反过来也不可能),因为正确的主题总是在令牌中。

    【讨论】:

    • 谢谢。我同意你的看法。由于 Id Token 和 Userinfo Endpoint 专用于客户端进行身份验证,因此提供公共或成对 ID 没有问题(取决于客户端配置)。但是关于 Introspection Endpoint,我认为不应该包含“sub”,除非资源服务器正在发送请求(在这种情况下,应该只包含公共 ID)。
    猜你喜欢
    • 1970-01-01
    • 2020-04-07
    • 2015-09-17
    • 2017-10-11
    • 2023-03-09
    • 2018-05-14
    • 2018-05-24
    • 2019-07-28
    • 1970-01-01
    相关资源
    最近更新 更多