【发布时间】:2019-03-09 00:25:27
【问题描述】:
最后的问题见底部
所以我了解了 acr 值的基本概念。我知道它“指定了一组要求身份验证满足的业务规则。这些规则通常可以通过使用多种不同的特定身份验证方法来满足,无论是单独使用还是组合使用。”
但是我对返回值感到困惑。我知道,如果我在响应范围内请求 acr 声明(作为基本声明),我必须为特定的身份验证上下文类引用指定 values 参数。
这就是我感到困惑的地方。当我查找 acr 返回值(身份验证上下文类参考)时,我发现了许多可以参考的不同 LOA 配置文件(https://www.iana.org/assignments/loa-profiles/loa-profiles.xhtml)。然而,OIDC 文档中似乎只引用了一个配置文件(并且与美国有关)——InCommon。
当我搜索 InCommon 的网站时,我不清楚 IdP 是否需要通过 InCommon 认证才能返回 ACR 值。
以下摘自 InCommon 的网站:
“它是如何工作的? InCommon 社区已经开发并发布了青铜和白银配置文件,这些配置文件定义了身份提供者必须满足的特定标准才能获得认证。身份提供者将这些标准合并到其身份和访问管理系统中。 在铜牌的情况下,身份提供者可以进行审计以证明符合配置文件,也可以简单地签署一份声明(自我断言),证明它符合标准。 Silver 需要进行审计,这通常可以由与 IT 运营没有直接关联的内部审计师来完成。”
我也对返回值的工作方式感到困惑,因为 OIDC 文档为 acr 提供了一个示例“返回”值:
"acr": {"values": ["urn:mace:incommon:iap:silver"]}
然而,当我查看 Microsoft 网站上的 acr 返回值示例时,它给出的 acr 返回值为 0。
“acr”:“0”
所以我最后的问题是: 1. 有人可以解释一下是否需要认证 IdP(提供令牌)才能提供 acr 返回值。 2.返回值是“incommon:iap:silver”还是“0”?
【问题讨论】:
标签: authentication jwt access-token openid-connect