DotNetOpenAuth:Webforms,入门

我想弄清楚如何在我的webforms应用程序中使用DotNetOpenAuth( http://www.dotnetopenauth.net/ )

我不明白从哪里开始。 我的Login.aspx上有一个OpenIDSelector,可以让你选择google或Yahoo。 您可以选择一个,然后弹出一个弹出窗口,然后让您登录。 一旦你登录该程序挂起,因为它试图用数据库做某事???

我不能只使用一些控件(如OpenIDSelector)并返回用户进行身份validation,获取他们的ClaimedID并自己处理其余的?

编辑:尝试在Webforms中开始使用OpenID? 到这里…

https://github.com/DotNetOpenAuth/DotNetOpenAuth/wiki/Creating-an-openid-relying-party-%28programatically%29

您不需要使用项目模板。 您可以将OpenIDSelector控件放入任何Web应用程序中,它将以极简主义的“使用用户名”方式开箱即用。 DotNetOpenAuth库中没有任何SQL依赖项。 只需处理OpenIdSelector.LoggedIn事件,您就可以获得所需的用户名。

项目模板(看起来很臃肿)假设您实际上要存储用户数据,并且您希望提供合理的登录和帐户管理体验。 它也适用于Web场和云托管环境。 如果你从头开始这是一个很好的入门方式,虽然它自带的一些代码自然会比其他代码少,这就是为什么你有源 – 所以你可以改变它。

是的,项目模板包含对数据库的依赖性。 它使用Linq-to-Entities,因此任何具有Entities提供程序的数据库都可以工作 – 而不仅仅是SQL Server。 它附带了内置数据库的模式。只需运行setup.aspx,它应该在本地SQLExpress安装中为您创建数据库。

这是从他们的网站链接的一步一步。 http://www.plaxo.com/api/openid_recipe

1 – 声明的标识符是您正在寻找的。 问题是谷歌之类使用“定向身份”,这意味着声称的标识符将链接到您来自的领域。 最终结果 – 同一个用户可能会在多个不同的声称标识符下通过。

2和3我不知道 – 我假设这是DNOA的一些开箱即用的function,但我没有玩过它。

4 – 不是我发现的。 dnoa涵盖了您需要担心的所有案例。