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.
- From the "Admin" Menu select "Authentication"
- Under the Windows Live section you should see the following screen, follow the instructions below regarding setting each value

- 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
- Under the OpenId Section you should see the following screen, follow the instructions below regarding setting each value

- 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
- 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:

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
Click here to post a comment