Last week I covered using OAuth with Google for authentication. I thought I would try GitHub next only to find out Microsoft does not have a built in provider. After a little searching I came across OWIN OAuth Providers on GitHub. This project has a ton for providers ranging from BattleNet to Yammer.
To install run the following from the package manager console.
Install-Package Owin.Security.Providers
The rest of the process is very similar to last weeks post. I am going to walk through GitHub for this example but the others are very similar. The big difference for each provider is getting API access.
At the top of Statup.Auth.cs in the App_Start folder add the following.
using Owin.Security.Providers.GitHub;
And at the bottom of the ConfigureAuth function.
app.UseGitHubAuthentication( clientId: "Your Client ID", clientSecret:"Your Client Secret");
The next setup is to set up API access with GitHub. Login to GitHub and go to Developer applications.
Click the Register new application button in the upper right of the page. On the registration page enter an application name, homepage URL and authorization callback URL. As last week the URL options will be need to be based on your project settings. After entering all your information click Register application.
Then next page will show your client ID and client secret which just need to be entered in Statup.Auth.cs. That is all there is to adding an additional OAuth provider and give your users even more authentication options.
Using OWIN OAuth Providers makes adding access other OAuth providers just as simple as the providers from Microsoft.