Single Sign On (SSO) on Windows 8

Single Sign On (SSO) is the ability in Windows 8 to sign into any OAuth provider such as Facebook, Twitter, Google etc from one account and never have to see the login dialog again. The OS manages the login from that point onwards and every time the user tries to logon to the OAuth provider from another app, the system automatically logs them on and the OAuth provider can then prompt the user for Authorization. I have been working with SSO for a while now and I realized that although Windows 8 SSO is quite easy to understand conceptually, the documentation does not make that clear and it is hard to get an end to end sample working with just the bare essentials that illustrate this.

The core problem is that to experiment with SSO, you need to setup a server. I would think that most people give up the ghost right where it asks one to setup a server. As if that is not enough, the SSO server needs to have HTTPS enabled. That makes the problem doubly complicated. Thus, to fix that issue, I spun up an Azure Website with Node.js that has already setup the server. The samples linked below run, by default against  that website, so you can play with SSO without needing to setup a server.

I also have created a small powerpoint brief showing how SSO works, that is linked below here too. The source code for the server as well as the client is provided here.

SingleSignOnE2ESample Actual Project Source code

Win8SSOArch PowerPoint with explanation of SSO