gpt4 book ai didi

authentication - 有人可以解释 OIDC 中的 ACR 返回值吗?

转载 作者:行者123 更新时间:2023-12-04 12:18:28 31 4
gpt4 key购买 nike

最后的问题见底部

所以我理解了acr值的基本概念。我知道它“指定了一组要求身份验证满足的业务规则。这些规则通常可以通过使用许多不同的特定身份验证方法(单独或组合使用)来满足。”

但是我对返回值感到困惑。我知道,如果我在响应范围内请求 acr 声明(作为基本声明),我必须为特定的身份验证上下文类引用指定 values 参数。

这是我感到困惑的地方。当我查找 a​​cr 返回值(身份验证上下文类引用)时,我发现了许多可以引用的不同 LOA 配置文件( https://www.iana.org/assignments/loa-profiles/loa-profiles.xhtml )。但是,OIDC 文档中似乎只引用了一个配置文件(并且与美国相关)——InCommon。

当我搜索 InCommon 的网站时,我不清楚 IdP 是否需要通过 InCommon 认证才能返回 ACR 值。

以下摘录自 InCommon 的网站:

“它是如何工作的?
InCommon 社区已经开发并发布了铜牌和银牌配置文件,它们定义了身份提供者必​​须满足的特定标准才能获得认证。身份提供者将这些标准纳入其身份和访问管理系统。
对于 Bronze,身份提供者可以进行审计以证明符合配置文件,或者可以简单地签署一份声明(自我断言)以证明其符合标准。
Silver 需要进行审计,这通常可以由与 IT 运营没有直接关联的内部审计师完成。”

我也对返回值的工作方式感到困惑,因为 OIDC 文档为 acr 提供了一个示例“返回”值,如下所示:

"acr": {"values": ["urn:mace:incommon:iap:silver"]}

然而,当我查看 Microsoft 网站上的 acr 返回值示例时,它给出的 acr 返回值为 0。

"acr": "0"

所以我最后的问题:
1. 有人可以解释一下是否需要认证 IdP(提供 token )才能提供 acr 返回值。
2.返回值是“incommon:iap:silver”还是“0”?

最佳答案

您可以将 ACR 值视为一组任意值,客户端和 idp 同意这些值来传达所发生的身份验证级别。这是为了让客户对发生的身份验证的资格有一定的信心。

他们没有“官方”值。他们应该通过 acr_values_supported 进行沟通。 OIDC 发现响应的参数。请查看 https://openid.net/specs/openid-connect-discovery-1_0.html (OpenID Connect Discovery 1.0)了解更多。

由于它们不是必需的参数,因此在如何实现和解释它们方面具有相当大的灵活性。据我了解,IDP 将根据提供的 acr_values 执行身份验证过程。在它认为合适的请求中。通常,这意味着如果客户提供 IDP 理解的值(value),它将受到尊重。但是,如果提供了不受支持的值,则不能保证它会被解释(也不应该导致错误),IDP 可能只是求助于默认的身份验证过程并将相应的 ACR 值返回给客户端。

另一方面,客户可以选择检查 acr_values ID token 中的字段,并确定发生的身份验证级别是否真正满足客户端需要执行的操作。如果是这样,请继续使用身份;如果不是,则拒绝身份断言。

希望它能解决您的问题。

关于authentication - 有人可以解释 OIDC 中的 ACR 返回值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52632690/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com