DotNetOpenAuth:Webforms入门

15

我正在尝试搞清楚如何在我的WebForms应用程序中让DotNetOpenAuth (http://www.dotnetopenauth.net/)正常工作。

我不明白从哪里开始。 我的Login.aspx页面上有一个OpenIDSelector,允许您选择Google或Yahoo。 您可以选择一个,然后弹出窗口会让您登录。 一旦您登录,程序就会挂起,因为它正在尝试处理一个数据库???

我能否只使用某个控件(例如OpenIDSelector),然后返回用户已通过身份验证的信息,获取他们的ClaimedID并自己处理剩下的操作吗?

编辑:正在尝试在WebForms中入门OpenID? 请访问以下链接...

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

3个回答

5
您不需要使用项目模板。您可以将OpenIDSelector控件放入任何Web应用程序中,它将以最小化的“给我用户名”的方式直接工作。DotNetOpenAuth库中没有任何SQL依赖关系。只需处理OpenIdSelector.LoggedIn事件,您就可以获取所需的用户名。
项目模板可能会让您感到臃肿,但它假定您实际上有要存储的用户数据,并且您想提供合理的登录和帐户管理体验。它还适用于Web农场和云托管环境。如果您从头开始,这是一个很好的入门方式,尽管自然地,它附带的某些代码比其他代码更适用,这就是为什么您有源代码——这样您就可以进行更改。
是的,项目模板包括对数据库的依赖项。它使用Linq-to-Entities,因此任何具有Entities提供程序的数据库都可以使用,而不仅仅是SQL Server。并且它附带了该数据库的架构。只需运行setup.aspx,它就应该在您的本地SQLExpress安装中为您创建数据库。

1
http://www.dotnetopenauth.net/developers/code-snippets/programmatic-openid-relying-party/ 就是我一直在找的。正是我需要的。不幸的是,我没有看到从dotnetopenauth.net主页找到它的明显方法(我是在第500次谷歌搜索中找到它的,试图弄清楚如何使它工作)。这就是我想象中应该在“入门”部分中的内容。 - Jason
1
好的反馈,CccTrash。我会找到一种方法使其更易发现。 - Andrew Arnott

1

0

1 - 所谓的声明标识符就是你要找的东西。问题在于,像 Google 这样的网站使用“定向身份”,这意味着声明标识符将与您来自的领域相关联。对您的最终结果是,同一用户可能会使用多个不同的声明标识符。

2 和 3 我不清楚 - 我假设这是 DNOA 的某些开箱即用功能,但我还没有尝试过。

4 - 据我所知没有。DNOA 已经涵盖了您需要担心的所有情况。


我不知道如何在没有模板项目的情况下启动它,因为模板项目看起来非常臃肿。你知道有什么资源吗? - Jason
是的 - DNOA 网站上有很多文档。请查看安德鲁的回复。 - kolosy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接