我需要构建一个在线工具生态系统(这些工具在各种平台上,如Moodle,Website Baker,ASP.Net,php等,一些已经建立,一些从其他供应商购买,一些将被建造),其中我想要最终用户应该有一次登录。
这些工具是独立的,目前有自己的登录机制。
我计划在用户注册的DNN上构建一个中央系统,该系统公开了其他系统用来对用户进行身份验证的oAuth服务。
我正在考虑DNN(DotNetNuke)平台,原因如下: 1.我是一名ASP.Net开发人员,并且在某种程度上熟悉DNN(不是很多,但足以知道它具有我可以根据我的需要定制的提供者和模块的概念)。 2.我需要一个购物车和一个注册系统,我希望得到一些现成的第三方解决方案。
我需要什么输入: 是否已经有一些DNN组件暴露了来自DNN站点的oAuth身份验证?我希望实现类似于Google为其oAuth界面实现的内容。
答案 0 :(得分:2)
如果我理解正确,那么您正在尝试构建称为带有oauth的3腿认证,您希望dotnetnuke成为提供者。为了在dotnetnuke中执行此操作,您需要提供一个UI,消费者可以在其中注册并获取AppId和consumerKey。完成后,Consumer会将用户发送到dotnetnuke进行登录。 Dotnetnuke将验证用户并将适当的信息返回给消费者。
以下是一些可以帮助您的事情:
如果您需要更多帮助,请与我联系。
答案 1 :(得分:1)
我不知道这是否是完成解决方案的最佳方式,但这就是我所做的。
有一个DotNetOpenAuth here的代码示例,它使用OAuth对用户进行身份验证。可能你会看到有更多的例子,甚至更新但是......请注意,因为如果你使用的是最新版本的DNN(7.x),它可以使用.NET Framework 4,而较新的示例使用4.5。那么,看看第一个例子吧!名为OAuth.ashx的ASP NET Handler是您的OAuth服务提供商。
然后,我根据示例构建了一个DNN模块,使DNN作为OAuth服务工作。
我跟着this guide来构建模块。有一些视频显示了模块开发的基本知识。