15

I am trying to figure out how to get DotNetOpenAuth(http://www.dotnetopenauth.net/) working in my webforms app

I don't understand where to begin. I have an OpenIDSelector on my Login.aspx that lets you choose google or Yahoo. You can choose one, then a popup comes up, and lets you login. Once you login the program hangs because it is trying to do something with a database???

Can't I just use some control(like the OpenIDSelector) and get back that the user was authenticated, get their ClaimedID and handle the rest myself?

EDIT: Trying to get started with OpenID in Webforms? Go Here...

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

4

3 回答 3

5

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

项目模板在您看来很臃肿,它假定您实际上有用户数据要存储,并且您希望提供合理的登录和帐户管理体验。它也适用于网络农场和云托管环境。如果您从头开始,这是一种很好的入门方式,尽管它附带的某些代码自然会比其他代码应用得少,这就是您拥有源代码的原因——因此您可以更改它。

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

于 2010-03-01T20:59:55.027 回答
1

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

于 2010-04-24T06:35:52.423 回答
0

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

2 和 3 我不知道 - 我假设这是 DNOA 提供的一些开箱即用的功能,但我没有玩过它。

4 - 不是我发现的。dnoa 涵盖了您需要担心的所有情况。

于 2010-03-01T05:11:04.313 回答