【问题标题】:Can an OpenID provider use Kerberos or other "alternate" authentication mechanisms?OpenID 提供者可以使用 Kerberos 或其他“替代”身份验证机制吗?
【发布时间】:2012-02-20 16:30:33
【问题描述】:

我们处于复杂的身份验证环境中,需要支持针对我们正在开发的应用程序中的许多不同来源进行身份验证。由于我们不想到处复制身份验证代码,因此我们正在考虑使用单个 OpenID 提供程序封装各种身份验证源,然后让应用程序都依赖于该服务。

我们必须允许验证的来源是 Active Directory 用户名/密码、Kerberos、通用 LDAP、外部 OpenID 提供程序等。

例如,在 Kerberos 案例中,当用户点击 OpenID 提供者的身份验证页面时,如果他可以使用 Kerberos 进行身份验证,并且已经授予请求应用程序权限,则用户将被透明地进行身份验证就像输入密码一样并传回请求的应用程序。

那么,问题是,我们能否创建一个 OpenID 提供程序来处理通过所有这些不同方法进行的身份验证?提供者是否必须实施如何以特定方式对用户进行身份验证?

【问题讨论】:

  • 这是一个有趣的用例。您的团队计划如何管理身份验证身份存在于多个后端的情况?
  • @TerryGardner,在这种情况下,用户将看到使用他们希望的任何方法进行身份验证的选项。理论上,OpenID 提供者可以连接来自不同来源的身份,因此服务可以在可能的情况下进行自动身份验证,并在需要时回退到手动身份验证方法。例如。首先尝试 Kerberos,然后回退到 Active Directory 用户名/密码对。从请求应用程序的角度来看,它只是一个 OpenID 提供者,它使事情变得简单而简单,将所有身份验证复杂性推给了包装身份验证服务。
  • 我明白了。在那种情况下,我不明白这个问题。您是否阅读并理解OpenID 规范?
  • @TerryGardner - 是的,目标是抽象出许多需要支持的不同身份验证机制,其中一些是单点登录。 OpenID 是一种 使抽象更加灵活的方式,因为它是一个得到很好支持的标准并且继续越来越流行。问题是“在应第三方应用程序的请求确定用户身份时,OpenID 提供者能否使用用户名/密码以外的机制来验证其用户身份?”
  • 问得好,您找到了可行的解决方案吗?

标签: authentication active-directory ldap openid kerberos


【解决方案1】:

OpenID 2.0 规范没有指定如何在 OpenID 提供者那里对用户进行身份验证,因为它是特定于供应商的。所以我的回答是肯定的,您可以拥有一个通过所有这些方法处理身份验证的 OpenID 提供程序,但您必须弄清楚如何,例如如何将 Kerberos 票证提供给 OpenID 提供程序由您决定。

【讨论】:

  • OpenID 身份验证流程中是否存在与用户和 OpenID 提供程序应用程序之间的 Kerberos 身份验证方案冲突的内容?
  • 否,您在 OpenID Provider 对用户进行身份验证的方式与 OpenID 身份验证协议不冲突。
猜你喜欢
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 2013-06-09
  • 1970-01-01
  • 2018-02-28
相关资源
最近更新 更多