我们处于复杂的身份验证环境中,需要支持针对我们正在开发的应用程序中的许多不同来源进行身份验证。由于我们不想到处复制身份验证代码,我们正在考虑使用单个 OpenID 提供程序包装各种身份验证源,然后让所有应用程序都依赖于该服务。
我们必须允许进行身份验证的来源是 Active Directory 用户名/密码、Kerberos、通用 LDAP、外部 OpenID 提供程序等。
例如,在 Kerberos 案例中,当用户点击 OpenID 提供者的身份验证页面时,如果他(她)可以使用 Kerberos 进行身份验证,并且已经向请求的应用程序授予了权限,那么用户将被透明地身份验证,就好像输入了密码一样输入并传递回请求的应用程序。
所以,问题是,我们可以创建一个 OpenID 提供程序来处理通过所有这些各种方法进行的身份验证 ?提供者是否必须以特定方式实现对用户的身份验证?
最佳答案
OpenID 2.0 规范没有指定如何在 OpenID 提供者处对用户进行身份验证,因为它是特定于供应商的。所以我的答案是肯定的,您可以拥有一个通过所有这些方法处理身份验证的 OpenID 提供者,但您必须弄清楚如何进行,例如如何将 Kerberos 票证提交给 OpenID 提供者由您决定。
关于authentication - OpenID 提供程序可以使用 Kerberos 或其他 "alternate"身份验证机制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9364637/