我一直在努力实现一个很好的开放ID解决方案到asp.net mvc – 我到处都是绝对的死路。 DotNetOpenAuth太大了,因此我无法获得最简单,基本,绝对的切割和干法实现。
NerdDinner有一个有希望的实现,但是不可能跟踪所有的依赖文件和脚本。 DotNetOpenAuth网站几乎没有任何帮助的信息,不幸的是。
任何人都知道一个简单的方法来实现这一点,实际上解释和细节如何使用某种选择器?这么说了,但是我发现的一切都是非常困难的,因为它真的让我的整个团队脱离了考虑。
我们希望实现它类似于堆栈溢出已经如此 – 使用一个选择器,如果需要弹出登录页面。我意识到有很多代码需要做到这一点,但一切只是恭维和赞美dotnetopenauth,没有什么真正教导它。即使示例项目没有打开或编译。
它看起来像一个美妙的图书馆 – 但它真的只是没有点击我。
编辑:现在,我被指向正确的地方开始,现在变得更加有意义了。如果你修剪掉所有的过剩,并且确切地知道基础是什么,那就更令人沮丧了。
解决方法
我想你可能从新的DNOA项目模板开始,其中包含了大量的代码和相当复杂的数据库方案,但大多数情况只对OAuth和OpenID提供者而不是依赖方来说是必需的。当您尝试了解如何将其集成到现有解决方案中时,这可能有点压倒性。
我建议不要从项目模板开始,但是可以在Samples / OpenIdRelyingPartyMvc文件夹中找到示例项目。为了最大限度地减少这种情况,您需要一个非常基本的场景(即只是为了能够显示刚刚登录的用户的OpenID URL)在UserController的Authenticate方法中。这只是几行。
在我的情况下,在开始基于此示例的基础上,我深入挖掘了项目模板生成的代码,学习并应用了一些有用的改进,但仍然非常轻量级和简单,并且它对我来说非常棒。
BTW:我认为,DNOA不仅是完美的设计和代码有很好的记录,但它也是我曾经使用过的最受支持的开源库之一。我敢打赌,Andrew会在不到24小时内留下评论;-)