public void ConfigureAuth(IAppBuilder app) { app.SetDefaultSignInAsAuthenticationType("ExternalCookie"); var cookieOptions = new CookieAuthenticationOptions { AuthenticationType = "ExternalCookie", AuthenticationMode = Microsoft.Owin.Security.AuthenticationMode.Active, CookieName = ".AspNet.ExternalCookie", LogoutPath = new PathString("/Account/LogOff"), LoginPath = new PathString("/Account/Login") }; app.UseCookieAuthentication(cookieOptions); var twitterOptions = new Microsoft.Owin.Security.Twitter.TwitterAuthenticationOptions { ConsumerKey = WebConfigurationManager.AppSettings["TwitterKey"], ConsumerSecret = WebConfigurationManager.AppSettings["TwitterSecret"], Provider = new Microsoft.Owin.Security.Twitter.TwitterAuthenticationProvider { OnAuthenticated = (context) => { context.Identity.AddClaim(new System.Security.Claims.Claim("urn:twitter:access_token", context.AccessToken, null, "Twitter")); context.Identity.AddClaim(new System.Security.Claims.Claim("urn:twitter:access_token_secret", context.AccessTokenSecret, null, "Twitter")); return(Task.FromResult(true)); } } }; app.UseTwitterAuthentication(twitterOptions); }
private static void ConfigTwitter(IAppBuilder app) { var twitter = TDSettings.DefaultTwitter(); var twitterOptions = new Microsoft.Owin.Security.Twitter.TwitterAuthenticationOptions() { ConsumerKey = twitter.ID, ConsumerSecret = twitter.Key, Provider = new Microsoft.Owin.Security.Twitter.TwitterAuthenticationProvider { OnAuthenticated = context => { context.Identity.AddClaim(new Claim("urn:twitter:access_token", context.AccessToken)); context.Identity.AddClaim(new Claim("urn:twitter:access_secret", context.AccessTokenSecret)); return(Task.FromResult(0)); } }, BackchannelCertificateValidator = new Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator(new[] { "A5EF0B11CEC04103A34A659048B21CE0572D7D47", // VeriSign Class 3 Secure Server CA - G2 "0D445C165344C1827E1D20AB25F40163D8BE79A5", // VeriSign Class 3 Secure Server CA - G3 "7FD365A7C2DDECBBF03009F34339FA02AF333133", // VeriSign Class 3 Public Primary Certification Authority - G5 "39A55D933676616E73A761DFA16A7E59CDE66FAD", // Symantec Class 3 Secure Server CA - G4 "add53f6680fe66e383cbac3e60922e3b4c412bed", // Symantec Class 3 EV SSL CA - G3 "4eb6d578499b1ccf5f581ead56be3d9b6744a5e5", // VeriSign Class 3 Primary CA - G5 "5168FF90AF0207753CCCD9656462A212B859723B", // DigiCert SHA2 High Assurance Server CA "B13EC36903F8BF4701D498261A0802EF63642BC3" // DigiCert High Assurance EV Root CA }) }; app.UseTwitterAuthentication(twitterOptions); }
public void Configuration(IAppBuilder app) { //app.CreatePerOwinContext(ApplicationDbContext.Create); //app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); //app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create); app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = "ApplicationCookie", LoginPath = new PathString("/auth/login") }); DataProtectionProvider = app.GetDataProtectionProvider(); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process. app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5)); if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("FacebookAppId"))) { var facebookOptions = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions { AppId = ConfigurationManager.AppSettings.Get("FacebookAppId"), AppSecret = ConfigurationManager.AppSettings.Get("FacebookAppSecret"), Provider = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider { OnAuthenticated = (context) => { context.Identity.AddClaim(new System.Security.Claims.Claim("urn:facebook:access_token", context.AccessToken, XmlSchemaString, "Facebook")); //context.Identity.AddClaim(new System.Security.Claims.Claim("urn:facebook:email", context.Email, XmlSchemaString, "Facebook")); foreach (var x in context.User) { var claimType = string.Format("urn:facebook:{0}", x.Key); string claimValue = x.Value.ToString(); if (!context.Identity.HasClaim(claimType, claimValue)) { context.Identity.AddClaim(new System.Security.Claims.Claim(claimType, claimValue, XmlSchemaString, "Facebook")); } } return(Task.FromResult(0)); } } }; facebookOptions.Scope.Add("email"); app.UseFacebookAuthentication(facebookOptions); } if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("TwitterAppId"))) { var twitterOptions = new Microsoft.Owin.Security.Twitter.TwitterAuthenticationOptions { ConsumerKey = ConfigurationManager.AppSettings.Get("TwitterAppId"), ConsumerSecret = ConfigurationManager.AppSettings.Get("TwitterAppSecret"), BackchannelCertificateValidator = new CertificateSubjectKeyIdentifierValidator(new[] { "A5EF0B11CEC04103A34A659048B21CE0572D7D47", "0D445C165344C1827E1D20AB25F40163D8BE79A5", "7FD365A7C2DDECBBF03009F34339FA02AF333133", "39A55D933676616E73A761DFA16A7E59CDE66FAD", "5168FF90AF0207753CCCD9656462A212B859723B", "B13EC36903F8BF4701D498261A0802EF63642BC3" }), Provider = new Microsoft.Owin.Security.Twitter.TwitterAuthenticationProvider { OnAuthenticated = (context) => { context.Identity.AddClaim(new System.Security.Claims.Claim("urn:twitter:access_token", context.AccessToken, XmlSchemaString, "Twitter")); return(Task.FromResult(0)); } } }; app.UseTwitterAuthentication(twitterOptions); } if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("GoogleAppId"))) { var GoogleOptions = new Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions { ClientId = ConfigurationManager.AppSettings.Get("GoogleAppId"), ClientSecret = ConfigurationManager.AppSettings.Get("GoogleAppSecret"), //SignInAsAuthenticationType = DefaultAuthenticationTypes.ExternalCookie, Provider = new Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider { OnAuthenticated = (context) => { context.Identity.AddClaim(new System.Security.Claims.Claim("urn:google:access_token", context.AccessToken, XmlSchemaString, "Google")); context.Identity.AddClaim(new System.Security.Claims.Claim("First_Name", context.GivenName, XmlSchemaString, "Google")); context.Identity.AddClaim(new System.Security.Claims.Claim("Last_Name", context.FamilyName, XmlSchemaString, "Google")); context.Identity.AddClaim(new System.Security.Claims.Claim("Email", context.Email, XmlSchemaString, "Google")); return(Task.FromResult(0)); } } }; app.UseGoogleAuthentication(GoogleOptions); } if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("LinkedInAppId"))) { var LinkedInOptions = new Owin.Security.Providers.LinkedIn.LinkedInAuthenticationOptions { ClientId = ConfigurationManager.AppSettings.Get("LinkedInAppId"), ClientSecret = ConfigurationManager.AppSettings.Get("LinkedInAppSecret"), Provider = new Owin.Security.Providers.LinkedIn.LinkedInAuthenticationProvider { OnAuthenticated = (context) => { context.Identity.AddClaim(new System.Security.Claims.Claim("urn:google:access_token", context.AccessToken, XmlSchemaString, "LinkedIn")); context.Identity.AddClaim(new System.Security.Claims.Claim("First_Name", context.GivenName, XmlSchemaString, "LinkedIn")); context.Identity.AddClaim(new System.Security.Claims.Claim("Last_Name", context.FamilyName, XmlSchemaString, "LinkedIn")); context.Identity.AddClaim(new System.Security.Claims.Claim("Email", context.Email, XmlSchemaString, "LinkedIn")); context.Identity.AddClaim(new System.Security.Claims.Claim("Company", context.Positions, XmlSchemaString, "LinkedIn")); return(Task.FromResult(0)); } } }; app.UseLinkedInAuthentication(LinkedInOptions); } }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Enable the application to use a cookie to store information for the signed in user app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login") }); // Use a cookie to temporarily store information about a user logging in with a third party login provider app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Microsoft : Create application // https://account.live.com/developers/applications if (ConfigurationManager.AppSettings.Get("MicrosoftClientId").Length > 0) { var msaccountOptions = new Microsoft.Owin.Security.MicrosoftAccount.MicrosoftAccountAuthenticationOptions() { ClientId = ConfigurationManager.AppSettings.Get("MicrosoftClientId"), ClientSecret = ConfigurationManager.AppSettings.Get("MicrosoftClientSecret"), Provider = new Microsoft.Owin.Security.MicrosoftAccount.MicrosoftAccountAuthenticationProvider() { OnAuthenticated = (context) => { context.Identity.AddClaim(new System.Security.Claims.Claim("urn:microsoftaccount:access_token", context.AccessToken, XmlSchemaString, "Microsoft")); return Task.FromResult(0); } } }; app.UseMicrosoftAccountAuthentication(msaccountOptions); } // Twitter : Create a new application // https://dev.twitter.com/apps if (ConfigurationManager.AppSettings.Get("TwitterConsumerKey").Length > 0) { var twitterOptions = new Microsoft.Owin.Security.Twitter.TwitterAuthenticationOptions() { ConsumerKey = ConfigurationManager.AppSettings.Get("TwitterConsumerKey"), ConsumerSecret = ConfigurationManager.AppSettings.Get("TwitterConsumerSecret"), Provider = new Microsoft.Owin.Security.Twitter.TwitterAuthenticationProvider() { OnAuthenticated = (context) => { context.Identity.AddClaim(new System.Security.Claims.Claim("urn:twitter:access_token", context.AccessToken, XmlSchemaString, "Twitter")); return Task.FromResult(0); } } }; app.UseTwitterAuthentication(twitterOptions); } // Facebook : Create New App // https://dev.twitter.com/apps if (ConfigurationManager.AppSettings.Get("FacebookAppId").Length > 0) { var facebookOptions = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions() { AppId = ConfigurationManager.AppSettings.Get("FacebookAppId"), AppSecret = ConfigurationManager.AppSettings.Get("FacebookAppSecret"), Provider = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider() { OnAuthenticated = (context) => { context.Identity.AddClaim(new System.Security.Claims.Claim("urn:facebook:access_token", context.AccessToken, XmlSchemaString, "Facebook")); foreach (var x in context.User) { var claimType = string.Format("urn:facebook:{0}", x.Key); string claimValue = x.Value.ToString(); if (!context.Identity.HasClaim(claimType, claimValue)) context.Identity.AddClaim(new System.Security.Claims.Claim(claimType, claimValue, XmlSchemaString, "Facebook")); } return Task.FromResult(0); } } }; app.UseFacebookAuthentication(facebookOptions); } // Foursquare : Create a new app // https://foursquare.com/developers/apps if (ConfigurationManager.AppSettings.Get("FoursquareClientId").Length > 0) { var foursquareOptions = new Citrius.Owin.Security.Foursquare.FoursquareAuthenticationOptions() { ClientId = ConfigurationManager.AppSettings.Get("FoursquareClientId"), ClientSecret = ConfigurationManager.AppSettings.Get("FoursquareClientSecret"), Provider = new Citrius.Owin.Security.Foursquare.FoursquareAuthenticationProvider() { OnAuthenticated = context => { context.Identity.AddClaim(new System.Security.Claims.Claim("urn:foursquare:access_token", context.AccessToken, XmlSchemaString, "Foursquare")); //foreach (var x in context.User) //{ // var claimType = string.Format("urn:foursquare:{0}", x.Key); // string claimValue = x.Value.ToString(); // if (!context.Identity.HasClaim(claimType, claimValue)) // context.Identity.AddClaim(new System.Security.Claims.Claim(claimType, claimValue, XmlSchemaString, "Foursquare")); //} return Task.FromResult(0); } } }; app.UseFoursquareAuthentication(foursquareOptions); //app.UseFoursquareAuthentication( // clientId: ConfigurationManager.AppSettings.Get("FoursquareClientId"), // clientSecret: ConfigurationManager.AppSettings.Get("FoursquareClientSecret")); } // Google : nothing to do here. app.UseGoogleAuthentication(); }