5

是否可以在 Web 应用程序中使用身份验证系统的组合?

我想使用 OpenId,但我认为我的潜在客户实际上更有可能拥有 Facebook ID。

因此我想知道是否可以提供两种类型的身份验证?

4

4 回答 4

3

Facebook 已加入 OpenID 基金会,因此他们可能很快就会实施 OpenID(在这种情况下,最好只使用 OpenID)。

于 2009-03-13T13:14:40.350 回答
2

几乎每种语言都应该有一个框架!您可以链接/包装该框架的功能来满足您的需求!

在伪代码中:

if(IsUserValidViaOpenId() || IsUserValidByOwnAuthDB()) ...  user auth successful

如果您使用 java,Acegi/Spring Security 可能是最好的方法(不可逆的安全性 - 通过 AOP)。在那里,您可以使用 openID 并为您自己的 userdb 定义自己的第二个验证器!

于 2009-03-13T13:12:47.810 回答
2

你想要RPX。它从您和您的访问者那里抽象出 OpenID 的整个混乱。除了 OpenID 提供商之外,它还允许他们通过 Facebook 或 MySpace 进行身份验证。

它提供的登录界面与您在 Stack Overflow 上看到的非常相似。

于 2009-03-13T15:06:43.357 回答
0

在您的表单处理逻辑中是这样的:

def authenticate(form_info):
    url = form_info['url']
    if (is_facebook_url(url)):
        return perform_facebook_authentication(form_info)
    else:
        return perform_open_id_authentication(form_info)
于 2009-03-13T13:18:40.463 回答