我一直在过度努力地在asp.net mvc中实现良好的开放ID解决方案-到处都是绝对的死胡同。 DotNetOpenAuth太大了,到目前为止,我什至无法使它的最简单,最基本,绝对简化和枯燥的实现生效。
NerdDinner的实现很有希望,但是不可能找到所有依赖的文件和脚本。不幸的是,DotNetOpenAuth网站实际上没有任何信息可以提供帮助。
有人知道一种简单的方法来实现这种方法,实际上可以解释并详细说明它如何与某种选择器一起工作吗?关于它的讨论太多了,但是我发现所有与之合作都非常困难,以至于我的整个团队都无法考虑。
我们想要实现类似于已发生堆栈溢出的方式-使用选择器,如果需要的话,该选择器将弹出登录页面。我意识到有很多代码需要完成,但是所有事情都只是赞叹和赞扬dotnetopenauth,而实际上并没有什么教导。甚至样本项目也不会打开或编译。
它看起来像一个很棒的图书馆-但实际上并没有点击我。
编辑:现在,我被指向一个正确的起点,这变得更加有意义。如果您修剪掉所有多余的部分并确切地知道基本知识在哪里,则可以减少很多挫败感。
最佳答案
我想您可能从新的DNOA项目模板开始,这些模板包含很多代码和相当复杂的数据库方案,但是其中大多数仅对OAuth和OpenID提供程序是必需的,而不是依赖方。当您尝试弄清楚如何将其集成到现有解决方案中时,这可能会有些不知所措。
我建议不要从项目模板开始,而要从Samples / OpenIdRelyingPartyMvc文件夹中找到示例项目。为了甚至最小化,非常基本的情况(例如,仅仅为了能够显示刚刚登录的用户的OpenID URL)所需要的全部在Authenticate
的UserController
方法中。只有几行。
就我而言,在根据该示例快速入门之后,我对项目模板生成的代码进行了更深入的研究,学习并应用了一些有用的改进,但仍然非常轻巧和简单,到目前为止,对我来说效果很好。
顺便说一句:我认为DNOA不仅经过完美的设计并且代码得到了很好的记录,而且还是我使用过的受支持最好的开源库之一。我敢打赌,安德鲁会在不到24小时的时间内在这里发表评论;-)
关于.net - 与asp.net mvc的dotnetopenauth证明太令人沮丧,无法使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2576555/