Windows Live and OpenId with DotNetNuke 

DotNetNuke 4.6.0 provides built in support for the Windows Live and OpenId authentication systems, allowing you more ways to make your site easy for visitors to use.  The best part is that DotNetNuke makes it easy for you as a site administrator to enable these login features for your users.  This article will talk alittle bit about each authentication system and what is needed for integration, then we will actually implement both in a DNN 4.6 website.

Windows Live

Windows Live is not really anything new, it is a re-branded and modernized version of their Passport system that was first used by MSN.com and hotmail.  Windows Live allows users to use a single username/password combination to be able to access multiple sites.  This allows users to use their existing Live id to login to your website.

Application Requirements

Before you can setup your DNN site to use Windows Live as an authentication method you must first register your application with Windows Live and setup a Secret key and obtain an Application Id. You can do this here. This process is very simple and takes less than 2 minutes to complete. Once you have established these two pieces of information you are ready to enable Windows Live, which will will discuss momentarily!

User Requirements

For users to benefit from your Windows Live integration they must have an account with Windows Live. If they do not they can visit live.com can create one quickly!

OpenId

"OpenID is a decentralized single sign-on system. Using OpenID-enabled sites, web users do not need to remember traditional authentication tokens such as username and password. Instead, they only need to be previously registered on a website with an OpenID "identity provider", sometimes called an i-broker. Since OpenID is decentralized, any website can employ OpenID software as a way for users to sign in; OpenID solves the problem without relying on any centralized website to confirm digital identity." - Source http://www.wikipedia.com

In reality OpenId is just another SSO provider that simply utilizes many external authority servers. The best part about this one is that you do not have to register anywhere to enable this method you can simply turn it on within DotNetNuke.

User Requirements

For your users to benefit from your OpenId integration they must have an account established by an authority source, www.myopenid.com is one of those providers. Once they have established the account they can then use it for login.

Enabling Integration Inside DotNetNuke

The process of enabling Windows Live and OpenId integration is actually very simple. First of all you must be running DotNetNuke 4.6.0 or later and logged in with the admin or host acocunts.

  1. From the "Admin" Menu select "Authentication"
  2. Under the Windows Live section you should see the following screen, follow the instructions below regarding setting each value
    Windows Live Settings
    • Enabled - Check this box to turn the authentication on
    • Application Id - This is the application id that was created when you registered your application on the Windows Live site
    • Secret Key - This is the secret key that you created when your registered your application on the Windows Live site
    • Include Help? - This will show some help text to your users
  3. Under the OpenId Section you should see the following screen, follow the instructions below regarding setting each value
    OpenId Settings
    • Enabled - Check this box to turn the authentication on
    • Use Compatability Mode - If checked OpenId 1.1 will be used instead of 2.0
    • Include Example URL - If checked will provide the users with an example URL
    • Include Help - If checked will provide help text
    • Include Register - If checked will provide a link to "Get an OpenId"
    • Include Profile - If checked will retreive profile information via OpenId standards
    • Auto Register - If checked users that login with OpenId will automatically be registered on the site
  4. Click "Update Settings" to save your settings. (NOTE: this page does NOT give a success message, so just make sure that it has refreshed.)

If you enabled both options your login page should now look something like this:
Login page

Localization

DotNetNuke 4.6 supports localization of all content displayed on the various authentication providers login pages. You can modify the language iformation using the Language Editor.  Authentication provider files may be found under /DesktopModules/AuthenticationServices/<ProviderName> where <ProviderName> is the name of the provider.

Conclusion

Overall this process is very easy to setup and get going for your users, the hardest part of all is going to be managing the look and feel of the login page, by default the login page is now far from elegant. I will be visiting this topic in the very near future!

Posted by Mitchel on Monday, September 17, 2007
 

Comments

Another useful article thanks.
What comes to mind is.. how does it all relate to existing site users? Can they keep their DNN account and use their Live or Open ID instead of whatever they had? Or is completely irrelevant what the ID is called so long as the password matches. Like.. say I have a DNN account here already but then I sign in using my LiveID. Is there a way to tie the accounts together?

By Rob on Monday, September 17, 2007 at 4:59 PM

Rob,

You create an association between a DNN account and the external authentication provider, it is just an optional association so you can still manually log in if desired

By mitchel.sellers@gmail.com on Monday, September 17, 2007 at 8:15 PM

I see that LiveID works on your site. In my site the user is not logged in even thought he or she is using LiveID to login. The user is redirected to the home page without logging to my site.

By peterg on Friday, September 21, 2007 at 6:35 PM

Peter,

Yes, there was some additional setup that I didn't know about when I wrote this article, have a look a few articles up from this one.

You just have to set the return URL for Live to your login page rather than your domain.

By mitchel.sellers@gmail.com on Saturday, September 22, 2007 at 4:08 AM

I wish the DNN site would use the option box, rather than requiring an OpenID as they do now...perhaps this is a work-in-progress? I can't login and have no interest in OpenID. :)

By Terp on Saturday, September 22, 2007 at 10:44 AM

how does it work technically

By vasant on Friday, September 28, 2007 at 11:48 AM

With OPEN ID, how do you Associate with Existing Account? Whenever I get to this part on my website, and I type in my (website) username and (website) password, it does not work.

By LeeMedic on Sunday, November 11, 2007 at 3:21 AM

LeeMedic,

I have noticed that in the past on sites of mine on 4.6.0 and 4.6.1. Which version are you on?

By mitchel.sellers@gmail.com on Sunday, November 11, 2007 at 2:03 PM

Hi Mitchel,

I was wondering what happens with child portals since they are using the same domain, but different login tabid's?

Should multiple accounts being created at Windows Life?

J.

By Store Integrator on Monday, September 29, 2008 at 2:11 AM

yes, that is the case I believe, they are separate sites in all actuality.

By mitchel.sellers@gmail.com on Monday, September 29, 2008 at 3:54 AM
Click here to post a comment

Donate

Show your appreciation for the content/modules made available by MitchelSellers.com by making a donation. Donations are used to assist with dedicating time to creating free content.