我一直在努力为asp.net mvc实现一个良好的开放式ID解决方案 - 我转向的任何地方都是绝对的死结束。 DotNetOpenAuth太大了,因此我无法获得最简单,最基本,绝对切割和干燥的实现工作。
NerdDinner有一个很有前途的实现,但是无法追踪所有依赖文件和脚本。不幸的是,DotNetOpenAuth网站几乎没有任何信息可以提供帮助。
任何人都知道一种简单的方法来实现这个实际解释并详细说明它如何与某种选择器一起使用?它被谈得如此之多,但我找到的所有东西都很难处理,它甚至让我整个团队都没有考虑它。
我们希望实现它类似于堆栈溢出的方式 - 使用选择器,如果需要,将弹出登录页面。我意识到有很多代码需要为此完成,但是所有内容都只是欢呼并称赞dotnetopenauth,并没有真正教导它。即使是示例项目也不会打开或编译。
它看起来像一个很棒的图书馆 - 但它真的不是为了点击我。
编辑:现在我已经指出了适当的起点,这更有意义。如果你修剪掉所有多余的东西并确切知道基础知识的位置,那就不那么令人沮丧了。答案 0 :(得分:5)
我猜你可能从包含大量代码和相当复杂的数据库方案的新DNOA项目模板开始,但大多数只是OAuth和OpenID提供商,而不是依赖方。当您试图找出如何将其集成到现有解决方案中时,这可能有点压倒性。
我建议不要从项目模板开始,但是您可以在Samples / OpenIdRelyingPartyMvc文件夹中找到示例项目。为了最大限度地减少这种情况,您需要的一个非常基本的场景(例如,只是为了能够显示刚刚登录的用户的OpenID URL)在Authenticate
UserController
方法中}。这只是几行。
在我的案例中,在基于此示例快速入门之后,我深入研究了项目模板生成的代码,学习并应用了一些有用的改进,但仍然非常轻巧和简单,而且效果很好所以对我而言。
BTW:我认为DNOA不仅设计完美且代码记录良好,而且它也是我用过的最受支持的开源库之一。我打赌安德鲁将在不到24小时内在这里发表评论; - )答案 1 :(得分:3)
试试这个。 http://www.west-wind.com/Weblog/posts/899303.aspx
dotnetopenauth包含一个示例asp.net mvc应用程序,可以证明它是如何工作的。我在切换到spring mvc之前对其进行了评估,但是能够基于示例代码中的逻辑开发出功能性POC。如果我没记错的话,你的视图包含一个文本框,它将openid提交给控制器,控制器使用dotnetopenauth api将你重定向到开放的id提供程序进行身份验证。重定向通过查询字符串包含您网站的网址,因此一旦您进行身份验证,开放ID提供程序就可以将您重定向回来。当最终用户被重新回到您的站点并且您能够提取开放ID时,您的控制器将再次使用dotnetopenauth api。我知道这只能解释你可能已经知道的东西,但我说我没有问题让它发挥作用。发布你的代码。我在vm编码,不能再访问了,但我现在再次下载它。这听起来像是一篇很好的博客资料。