Question

I need to build an ecosystem of online tools (these tools are on various platforms like Moodle, Website Baker, ASP.Net, php, etc, some already built, some purchased from other vendors and some to be built), where I want a single login that the end user should have.

These tools, standalone, have their own login mechanism in place at the moment.

I am planning to build a central system on DNN where users register and this system exposes an oAuth service that other systems use to authenticate users against.

I am considering DNN (DotNetNuke) platform for the following reasons: 1. I am an ASP.Net developer and familiar to some extent with DNN (Not a whole lot, but enough to know that it has the concept of providers and modules that I can customize as per my needs). 2. I will need a shopping cart and a registration system which I am hoping to get some ready-made third party solution.

WHAT I NEED INPUTS ON: Is there some DNN component out there already that exposes oAuth authentication from a DNN site? I am looking to implement something similar to what Google has implemented for it's oAuth interface.

Was it helpful?

Solution

I don't know if it is the best way to accomplish the solution but it was what I did.

There's a code sample of DotNetOpenAuth here which uses OAuth to authenticate users. Probably you will see that there are more examples, and even newer but .. pay attention because If you are using the last version of DNN (7.x), it works using the .NET Framework 4 and the newer samples uses 4.5. So, take a look of the first example! The ASP NET Handler called OAuth.ashx is your OAuth Service provider.

Then, I built a DNN module based on the sample to make DNN work as OAuth Service.

I followed this guide to build the module. There are some videos which shows the basic of module development.

OTHER TIPS

If I understand you correctly, you are trying to build is called 3 legged authentication with oauth where you want dotnetnuke to be the provider. In order to do that in dotnetnuke, you need to provide a UI where consumers can register and get AppId and consumerKey. Once that is done, Consumer will send user to dotnetnuke for login. Dotnetnuke will validate the user and return appropriate information to consumer.

Here are some things that can help you:

  1. DotNetOAuth library
  2. OAuth website
  3. http://code.google.com/p/extremeswankoauth/wiki/Server_Examples
  4. http://www.cleancode.co.nz/blog/523/oauth-dot-net
  5. Example oAuth implementation in java

Let me know if you need more help.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top