September 17, 2007

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. 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 was 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!

tags: DNN, Tutorials
comments powered by Disqus

Content provided in this blog is provided "AS-IS" and the information should be used at your own discretion.  The thoughts and opinions expressed are the personal thoughts of Mitchel Sellers and do not reflect the opinions of his employer.

Content Copyright

Content in this blog is copyright protected.  Re-publishing on other websites is allowed as long as proper credit and backlink to the article is provided.  Any other re-publishing or distribution of this content is prohibited without written permission from Mitchel Sellers.