主题标识符和 ID Token/Userinfo Endpoint/Introspection 端点

Subject Identifier and ID Token/Userinfo Endpoint/Introspection Endpoint

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

我的问题是:

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

提前致谢。

首先,客户端要么配置为 public 要么配置成对 ID,但不能同时配置(这可能首先会破坏使用成对 ID 的附加隐私目的。因此调用者任何端点(无论是 UserInfo 还是自省)都不会看到它们混合在一起。

提供商如何将访问令牌映射到主题?

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

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