有关在DNN上实现oAuth服务器的任何指示?

时间:2012-07-09 14:17:58

标签: oauth dotnetnuke oauth-2.0 dotnetopenauth oauth-provider

我需要构建一个在线工具生态系统(这些工具在各种平台上,如Moodle,Website Baker,ASP.Net,php等,一些已经建立,一些从其他供应商购买,一些将被建造),其中我想要最终用户应该有一次登录。

这些工具是独立的,目前有自己的登录机制。

我计划在用户注册的DNN上构建一个中央系统,该系统公开了其他系统用来对用户进行身份验证的oAuth服务。

我正在考虑DNN(DotNetNuke)平台,原因如下: 1.我是一名ASP.Net开发人员,并且在某种程度上熟悉DNN(不是很多,但足以知道它具有我可以根据我的需要定制的提供者和模块的概念)。 2.我需要一个购物车和一个注册系统,我希望得到一些现成的第三方解决方案。

我需要什么输入: 是否已经有一些DNN组件暴露了来自DNN站点的oAuth身份验证?我希望实现类似于Google为其oAuth界面实现的内容。

2 个答案:

答案 0 :(得分:2)

如果我理解正确,那么您正在尝试构建称为带有oauth的3腿认证,您希望dotnetnuke成为提供者。为了在dotnetnuke中执行此操作,您需要提供一个UI,消费者可以在其中注册并获取AppId和consumerKey。完成后,Consumer会将用户发送到dotnetnuke进行登录。 Dotnetnuke将验证用户并将适当的信息返回给消费者。

以下是一些可以帮助您的事情:

  1. DotNetOAuth library
  2. OAuth网站
  3. http://code.google.com/p/extremeswankoauth/wiki/Server_Examples
  4. http://www.cleancode.co.nz/blog/523/oauth-dot-net
  5. java中的oAuth实现示例
  6. 如果您需要更多帮助,请与我联系。

答案 1 :(得分:1)

我不知道这是否是完成解决方案的最佳方式,但这就是我所做的。

有一个DotNetOpenAuth here的代码示例,它使用OAuth对用户进行身份验证。可能你会看到有更多的例子,甚至更新但是......请注意,因为如果你使用的是最新版本的DNN(7.x),它可以使用.NET Framework 4,而较新的示例使用4.5。那么,看看第一个例子吧!名为OAuth.ashx的ASP NET Handler是您的OAuth服务提供商。

然后,我根据示例构建了一个DNN模块,使DNN作为OAuth服务工作。

我跟着this guide来构建模块。有一些视频显示了模块开发的基本知识。