2

我们有一个 MVC 网站,它将使用DotNetOpenAuth通过 OpenID 登录用户,我发现这个非常有用的模板其他更简单的示例将帮助我在这方面开始。但是,我还没有完全弄清楚如果我的用户不想使用 OpenID,如何为他们提供一种在我们这里创建帐户的方法。

我可以在这里看到两个选项,编写一些自定义代码,允许 OpenID 搭载标准会员提供程序。或者,让最终站点仅通过 DotNetOpenAuth 使用 OpenID,并为我的用户构建一个身份提供程序以进行注册。这样,该站点将只看到 OpenID 用户并且不知道有什么区别。

这些是我唯一的选择吗?我找不到任何关于建立我自己的身份提供者的东西,只是依赖方模板。我想我可以将 OpenID 放在默认的会员提供者之上,但这感觉就像我做错了,因为我应该能够站起来一个身份提供者。

那么,在我的情况下,通过创建本地帐户和通过 DotNetOpenAuth 支持 OpenID 的最佳方式是什么?

4

1 回答 1

1

设置您自己的身份提供者以使您的网站只使用 OAuth 肯定是一种选择,但不是一个简单的选择。我不建议您设置身份提供者,除非您打算让您的客户使用它来登录其他网站。

还要记住,大多数网站不使用 OAuth 进行身份验证(因为它不是身份验证协议)。OpenID 更受欢迎。

您在问题中链接到的项目模板演示了允许用户通过多个 OpenID 提供者登录,并包括对链接用户帐户的支持

至于支持本地用户帐户,我建议您查看nerddinner.com背后的源代码。我建议不要对 OpenID/OAuth 帐户使用 ASP.NET Membership 提供程序,因为该界面不太适合,但人们已经让它工作,所以如果你愿意,你也可以。

于 2012-06-08T14:55:54.073 回答