single-sign-on - SAML2 单点登录 : AuthnContext Class Schemas: "PasswordProtectedTransport" vs "unspecified"

标签 single-sign-on metadata saml saml-2.0

背景:
我的公司作为 IDP 客户的服务提供商。我们使用 OpenAM,但我们的客户使用 ADFS 或 Shibboleth。我们交换元数据文件来建立联盟,而不是 URL。一位客户问我们为什么需要 AuthnContext 类架构(特别是 PasswordProtectedTransport ),我们不仅不知道为什么,我们也不知道如何更改它或这意味着什么。
题:
对于 PasswordProtectedTransport,使用“unspecified”与“AuthnContextClassRef”之间的功能区别是什么?在 SAML2 断言中?
我们目前使用 PasswordProtectedTransport在我们所有的客户中,但我公司没有人可以告诉我为什么我们需要这个。如果我们删除它,联盟将停止工作,并在 SAML 跟踪中显示 500 错误和“NoAuthnContext”。我们也不明白这一点,因为我从 SAML 文档中相信,拥有模式对于身份验证是可选的。即便如此,我也没有看到任何关于使用“unspecified”的含义的解释。
我在任何地方都找不到关于这个话题的任何详尽的解释或讨论,希望有人能为我详细说明,因为我正在努力寻找这方面的线索。

最佳答案

RequestedAuthnContext在请求中是 SP 要求 IDP 使用特定身份验证机制对用户进行身份验证的一种方式。
例如,如果您指定 PasswordProtectedTransport在您的请求中,IDP 知道它必须通过受 SSL/TLS 保护的登录名/密码对用户进行身份验证。
IDP 在其响应中说明它使用哪种机制通过 AuthnContextClassRef 对用户进行身份验证.
RequestedAuthnContext在请求中是可选的,但 AuthnContextClassRef根据 SAML 架构的规定,断言中是强制性的(因此遇到了 500 错误)。
基本上,unspecified IDP 使用 URN 表示“我不想告诉您我是如何识别用户的”。
作为 SP,如果您想确保用户通过安全机制进行身份验证,您可以选择接受或拒绝该答案。

关于single-sign-on - SAML2 单点登录 : AuthnContext Class Schemas: "PasswordProtectedTransport" vs "unspecified",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28812916/

相关文章:

java - 使用 SAML oneLogin 代码作为 iDP 连接到 ADFS 时出现响应错误

c# - 在 MetadataProvider 中获取多个相同类型的属性

ffmpeg - 将章节从 xml 转换为 ffmetadata?

node.js - 如何从头开始创建使用 API 进行身份验证的 SAML IDP

php - SimpleSAMLphp 前端是否需要打开,服务提供商才能像服务提供商一样行事?

sqlite - 是否可以将自定义元数据添加到 SQLite 列?

extjs4 - Extjs 4 中的单点登录

windows - 了解 AuthServerWhitelist 和 AuthNegotiateDelegateWhitelist chrome 策略寄存器?

node.js - Meteor 单点登录

android - Android 应用之间的单点登录