public void ConfigureOAuth(IAppBuilder app) { app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); OAuthBearerOptions = new OAuthBearerAuthenticationOptions(); OAuthAuthorizationServerOptions oAuthServerOptions = new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/token"), AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30), Provider = new SimpleAuthorizationServerProvider(), RefreshTokenProvider = new SimpleRefreshTokenProvider() }; // Token Generation app.UseOAuthAuthorizationServer(oAuthServerOptions); app.UseOAuthBearerAuthentication(OAuthBearerOptions); //Configure Google External Login googleAuthOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = "xxx", ClientSecret = "xxx", Provider = new GoogleAuthProvider() }; app.UseGoogleAuthentication(googleAuthOptions); //Configure Facebook External Login facebookAuthOptions = new FacebookAuthenticationOptions() { AppId = "xxx", AppSecret = "xxx", Provider = new FacebookAuthProvider() }; app.UseFacebookAuthentication(facebookAuthOptions); }
public static void Configure(IAppBuilder app) { // Enable the application to use a cookie to store information for the signed in user app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ExternalCookie }); // Use a cookie to temporarily store information about a user logging in with a third party login provider app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Configure google authentication var options = new GoogleOAuth2AuthenticationOptions() { ClientId = "your app client id", ClientSecret = "your app client secret" }; app.UseGoogleAuthentication(options); facebookAuthOptions = new FacebookAuthenticationOptions() { AppId = "528982800546743", AppSecret = "a6ee5ad8448c7c67fcedc72d5a4c501a", Provider = new FacebookAuthProvider() }; app.UseFacebookAuthentication(facebookAuthOptions); }
private void ConfigureOAuth(IAppBuilder app) { app.UseExternalSignInCookie(Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ExternalCookie); OAuthBearerOptions = new OAuthBearerAuthenticationOptions(); OAuthAuthorizationServerOptions oAuthServerOptions = new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/token"), AccessTokenExpireTimeSpan = TimeSpan.FromDays(1), Provider = new SimpleAuthorizationServerProvider(new AccountRepository()) }; GoogleAuthOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = "592613624399-a3gr6vveaocnptgvv6738rmnk0pb5cev.apps.googleusercontent.com", ClientSecret = "FqNKKib_BP7dsNYBoJa8NwUC", Provider = new GoogleAuthProvider() }; app.UseGoogleAuthentication(GoogleAuthOptions); FacebookAuthOptions = new FacebookAuthenticationOptions() { AppId = "806191272841558", AppSecret = "1a8241e9d46c4a5e393ae51f265a3489", Provider = new FacebookAuthProvider() }; app.UseFacebookAuthentication(FacebookAuthOptions); // Token Generation app.UseOAuthAuthorizationServer(oAuthServerOptions); app.UseOAuthBearerAuthentication(OAuthBearerOptions); }
public static void ConfigureAdditionalIdentityProviders(IAppBuilder app, string signInAsType) { var google = new GoogleOAuth2AuthenticationOptions { AuthenticationType = "Google", SignInAsAuthenticationType = signInAsType, ClientId = "client", //"767400843187-8boio83mb57ruogr9af9ut09fkg56b27.apps.googleusercontent.com", ClientSecret = "secret" //"5fWcBT0udKY7_b6E3gEiJlze" }; app.UseGoogleAuthentication(google); var fb = new FacebookAuthenticationOptions { AuthenticationType = "Facebook", SignInAsAuthenticationType = signInAsType, AppId = "app", //"676607329068058", AppSecret = "secret" //"9d6ab75f921942e61fb43a9b1fc25c63" }; app.UseFacebookAuthentication(fb); var twitter = new TwitterAuthenticationOptions { AuthenticationType = "Twitter", SignInAsAuthenticationType = signInAsType, ConsumerKey = "consumer", //"N8r8w7PIepwtZZwtH066kMlmq", ConsumerSecret = "secret" //"df15L2x6kNI50E4PYcHS0ImBQlcGIt6huET8gQN41VFpUCwNjM" }; app.UseTwitterAuthentication(twitter); }
public void ConfigureOAuth(IAppBuilder app) { //use a cookie to temporarily store information about a user logging in with a third party login provider app.UseExternalSignInCookie(Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ExternalCookie); OAuthBearerOptions = new OAuthBearerAuthenticationOptions(); OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/token"), AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30), Provider = new SimpleAuthorizationServerProvider(), RefreshTokenProvider = new SimpleRefreshTokenProvider() }; // Token Generation app.UseOAuthAuthorizationServer(OAuthServerOptions); app.UseOAuthBearerAuthentication(OAuthBearerOptions); //Configure Google External Login googleAuthOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = "xxxxxx", ClientSecret = "xxxxxx", Provider = new GoogleAuthProvider() }; app.UseGoogleAuthentication(googleAuthOptions); //Configure Facebook External Login facebookAuthOptions = new FacebookAuthenticationOptions() { AppId = System.Configuration.ConfigurationManager.AppSettings["FacebookAppId"], AppSecret = System.Configuration.ConfigurationManager.AppSettings["FacebookAppSecret"], Provider = new FacebookAuthProvider() }; app.UseFacebookAuthentication(facebookAuthOptions); //Configure Twitter External Login twitterAuthOptions = new TwitterAuthenticationOptions() { ConsumerKey = System.Configuration.ConfigurationManager.AppSettings["TwitterConsumerKey"], ConsumerSecret = System.Configuration.ConfigurationManager.AppSettings["TwitterConsumerSecret"], Provider = new TwitterAuthProvider() }; app.UseTwitterAuthentication(twitterAuthOptions); //Configure LinkedIn External Login linkedinAuthOptions = new LinkedInAuthenticationOptions() { ClientId = System.Configuration.ConfigurationManager.AppSettings["LinkedInClientId"], ClientSecret = System.Configuration.ConfigurationManager.AppSettings["LinkedInSecret"], Provider = new LinkedInAuthProvider() }; app.UseLinkedInAuthentication(linkedinAuthOptions); }
private void ConfigureAuth(IAppBuilder app) { app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ExternalCookie, LoginPath = new PathString("/account/login"), Provider = new CookieAuthenticationProvider { OnApplyRedirect = ctx => { if (!IsApiRequest(ctx.Request)) { ctx.Response.Redirect(ctx.RedirectUri); } } } }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); var provider = new GoogleOAuth2AuthenticationProvider(); var options = new GoogleOAuth2AuthenticationOptions { ClientId = ConfigurationManager.AppSettings["ClientId"], ClientSecret = ConfigurationManager.AppSettings["ClientSecret"], Provider = provider }; app.UseGoogleAuthentication(options); }
public void Configuration(IAppBuilder app) { app.CreatePerOwinContext(AppDbContext.Create); app.CreatePerOwinContext<AppUserManager>(AppUserManager.Create); app.CreatePerOwinContext<AppSignInManager>(AppSignInManager.Create); app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login") }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); //app.Use((context, next) => //{ // var identity = context.Authentication.User.Identity as ClaimsIdentity; // if (identity != null && identity.IsAuthenticated) // { // identity.AddClaim(new Claim(ClaimTypes.Role, "admin")); // } // return next.Invoke(); //}); var googleOauthOptions = new GoogleOAuth2AuthenticationOptions { ClientId = WebConfigurationManager.AppSettings["GoogleClientId"], ClientSecret = WebConfigurationManager.AppSettings["GoogleClientSecret"], SignInAsAuthenticationType = app.GetDefaultSignInAsAuthenticationType(), //26.08 Provider = new GoogleOAuth2AuthenticationProvider { OnAuthenticated = context => { var accessToken = context.AccessToken; //var serializedUser = context.User; //var name = context.Name; //var gender = serializedUser.Value<string>("gender"); context.Identity.AddClaim(new Claim("urn:google:access_token", accessToken, XmlSchemaString, "Google")); //foreach (var keyVal in context.User) //{ // var claimType = string.Format("urn:google:{0}", keyVal.Key); // var claimVal = keyVal.Value.ToString(); // if (!context.Identity.HasClaim(claimType, claimVal)) // { // context.Identity.AddClaim(new Claim(claimType, claimVal, // XmlSchemaString, "Google")); // } //} return Task.FromResult(0); } } }; googleOauthOptions.Scope.Add("openid"); googleOauthOptions.Scope.Add("profile"); googleOauthOptions.Scope.Add("email"); googleOauthOptions.Scope.Add("https://www.googleapis.com/auth/drive.readonly"); app.UseGoogleAuthentication(googleOauthOptions); }
/// <summary> /// Se realiza la configuración de autorización /// </summary> /// <param name="app"></param> public void ConfigureOAuth(IAppBuilder app) { OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/token"), AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30), Provider = new SimpleAuthorizationServerProvider(), RefreshTokenProvider = new SimpleRefreshTokenProvider() }; // Token Generation app.UseOAuthAuthorizationServer(OAuthServerOptions); app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()); app.UseExternalSignInCookie(Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ExternalCookie); OAuthBearerOptions = new OAuthBearerAuthenticationOptions(); googleAuthOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = "185157178718-8qc15td8nefjssrai2md8eiodr151m8u.apps.googleusercontent.com", ClientSecret = "tmnYb6S99BJPWVbv45Ha8Mf-", Provider = new GoogleAuthProvider() }; app.UseGoogleAuthentication(googleAuthOptions); }
public void GoogleOAuth2Configuration(IAppBuilder app) { app.UseAuthSignInCookie(); var option = new GoogleOAuth2AuthenticationOptions() { ClientId = "581497791735.apps.googleusercontent.com", ClientSecret = "-N8rQkJ_MKbhpaxyjdVYbFpO", }; app.UseGoogleAuthentication(option); app.Run(async context => { if (context.Authentication.User == null || !context.Authentication.User.Identity.IsAuthenticated) { var authenticationProperties = new AuthenticationProperties(); authenticationProperties.Dictionary.Add("access_type", "custom_accessType"); authenticationProperties.Dictionary.Add("approval_prompt", "custom_approval_prompt"); authenticationProperties.Dictionary.Add("login_hint", "custom_login_hint"); context.Authentication.Challenge(authenticationProperties, "Google"); await context.Response.WriteAsync("Unauthorized"); } }); }
// 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 // and to use a cookie to temporarily store information about a user logging in with a third party login provider app.UseCookieAuthentication(new CookieAuthenticationOptions()); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Enable the application to use bearer tokens to authenticate users app.UseOAuthBearerTokens(OAuthOptions); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "DE9rrDoJOJhbrGR9BBMpyBwa6", // consumerSecret: "bsO1Wz3qx3kUsSIVk0s1ycIWsekDvR8P33m45CDjoU9Qi6YgY1"); IFacebookAuthenticationFactory facebookAuthenticationFactory = new FacebookAuthenticationFactory(); FacebookAuthenticationOptions facebookAuthenticationOptions = facebookAuthenticationFactory.CreateAuthenticationOptions(); app.UseFacebookAuthentication(facebookAuthenticationOptions); GoogleOAuth2AuthenticationOptions googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = ConfigurationManager.AppSettings["oAuth2.Google.ClientId"], ClientSecret = ConfigurationManager.AppSettings["oAuth2.Google.ClientSecret"] }; googleOAuth2AuthenticationOptions.Scope.Add("profile"); googleOAuth2AuthenticationOptions.Scope.Add("email"); app.UseGoogleAuthentication(googleOAuth2AuthenticationOptions); }
// 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); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); app.UseFacebookAuthentication( appId: "1689954101236608", appSecret: "676d9b0e35af6af7c46f3a95d81ca796"); var googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions { ClientId = "611179519995-rj11d6cfr591cvfiqsuh82jqc85ok7s9.apps.googleusercontent.com", ClientSecret = "NP3DaOGrGMMykrApiQ7QmWox", }; app.UseGoogleAuthentication(googleOAuth2AuthenticationOptions); //app.UseGoogleAuthentication(); }
public void ConfigureOAuth(IAppBuilder app) { app.UseExternalSignInCookie(Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ExternalCookie); OAuthBearerOptions = new OAuthBearerAuthenticationOptions(); OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/token"), AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30), Provider = new SimpleAuthorizationServerProvider(), RefreshTokenProvider = new SimpleRefreshTokenProvider() }; // Token Generation app.UseOAuthAuthorizationServer(OAuthServerOptions); app.UseOAuthBearerAuthentication(OAuthBearerOptions); //Configure Google External Login googleAuthOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = "936007638974-2ko9tqdmv3ifomlblhlrnninkdoe9bkt.apps.googleusercontent.com", ClientSecret = "4_GR4_4JPnglWQOnSnwOZzlV", Provider = new GoogleAuthProvider() }; app.UseGoogleAuthentication(googleAuthOptions); }
public ExternalIdentityProviderService WithGoogleAuthentication(string clientId, string clientSecret) { if (string.IsNullOrWhiteSpace(clientId)) { throw new ArgumentNullException(nameof(clientId)); } if (string.IsNullOrEmpty(clientSecret)) { throw new ArgumentNullException(nameof(clientId)); } configurators.Add((appBuilder, signInAsType) => { var google = new GoogleOAuth2AuthenticationOptions { AuthenticationType = "Google", SignInAsAuthenticationType = signInAsType, ClientId = clientId, ClientSecret = clientSecret }; appBuilder.UseGoogleAuthentication(google); }); return this; }
public static void ConfigureIdentityProviders(IAppBuilder app, string signInAsType) { var google = new GoogleOAuth2AuthenticationOptions { AuthenticationType = "Google", Caption = "Google", SignInAsAuthenticationType = signInAsType, ClientId = "767400843187-8boio83mb57ruogr9af9ut09fkg56b27.apps.googleusercontent.com", ClientSecret = "5fWcBT0udKY7_b6E3gEiJlze" }; app.UseGoogleAuthentication(google); var fb = new FacebookAuthenticationOptions { AuthenticationType = "Facebook", Caption = "Facebook", SignInAsAuthenticationType = signInAsType, AppId = "676607329068058", AppSecret = "9d6ab75f921942e61fb43a9b1fc25c63" }; app.UseFacebookAuthentication(fb); var twitter = new TwitterAuthenticationOptions { AuthenticationType = "Twitter", Caption = "Twitter", SignInAsAuthenticationType = signInAsType, ConsumerKey = "N8r8w7PIepwtZZwtH066kMlmq", ConsumerSecret = "df15L2x6kNI50E4PYcHS0ImBQlcGIt6huET8gQN41VFpUCwNjM" }; app.UseTwitterAuthentication(twitter); //var adfs = new WsFederationAuthenticationOptions //{ // AuthenticationType = "adfs", // Caption = "ADFS", // SignInAsAuthenticationType = signInAsType, // MetadataAddress = "https://adfs.leastprivilege.vm/federationmetadata/2007-06/federationmetadata.xml", // Wtrealm = "urn:idsrv3" //}; //app.UseWsFederationAuthentication(adfs); var aad = new OpenIdConnectAuthenticationOptions { AuthenticationType = "aad", Caption = "Azure AD", SignInAsAuthenticationType = signInAsType, Authority = "https://login.windows.net/4ca9cb4c-5e5f-4be9-b700-c532992a3705", ClientId = "65bbbda8-8b85-4c9d-81e9-1502330aacba", RedirectUri = "https://localhost:44333/core/aadcb" }; app.UseOpenIdConnectAuthentication(aad); }
public void ConfigureAuth(IAppBuilder app) { // app.CreatePerOwinContext(XcendentAuthContext.Create); //app.CreatePerOwinContext<XcendentUserManager>(XcendentUserManager.Create); app.UseCors(CorsOptions.AllowAll); app.UseCookieAuthentication(new CookieAuthenticationOptions()); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); PublicClientId = "self"; OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString("/Token"), Provider = new XcendentOAuthProvider(PublicClientId), AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"), AccessTokenExpireTimeSpan = TimeSpan.FromDays(14), // In production mode set AllowInsecureHttp = false AllowInsecureHttp = true }; app.UseOAuthBearerTokens(OAuthOptions); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); FacebookAuthenticationOptions facebookAuthOptions = new FacebookAuthenticationOptions() { AppId = "553074264845816", AppSecret = "c71200f8ba3d48f92433c9e1844a7239", Provider = new FacebookAuthProvider() }; // facebookAuthOptions.Scope.Clear(); facebookAuthOptions.Scope.Add("public_profile"); facebookAuthOptions.Scope.Add("email"); app.UseFacebookAuthentication(facebookAuthOptions); GoogleOAuth2AuthenticationOptions googleOptions = new GoogleOAuth2AuthenticationOptions(); googleOptions.Scope.Clear(); googleOptions.Scope.Add("profile"); googleOptions.Scope.Add("email"); googleOptions.ClientId = "141496314941-4bc07d10tkmctlrcb0ealjp0n45d04dl.apps.googleusercontent.com"; googleOptions.ClientSecret = "UWQkdq18I3VB7udh3aBsxOK9"; googleOptions.Provider = new GoogleAuthProvider(); googleOptions.AccessType = "online"; // googleOptions.AuthenticationMode = Microsoft.Owin.Security.AuthenticationMode.Passive; app.UseGoogleAuthentication(googleOptions); }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Configure the db context, user manager and signin manager to use a single instance per request app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { OnException = (context) => { }, // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); var googleOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = ConfigurationManager.AppSettings["GoogleClientId"], ClientSecret = ConfigurationManager.AppSettings["GoogleClientSecret"] }; //Must specify 'openid email profile' scopes and the app must enable the Google+ API //to use the MVC Google OAuth library. googleOptions.Scope.Add("openid email profile"); //Need GmailModify to change labels. googleOptions.Scope.Add(GmailService.Scope.GmailModify); googleOptions.Provider = new GoogleOAuth2AuthenticationProvider() { OnAuthenticated = (context) => { context.Identity.AddClaim(new Claim("name", context.Name)); context.Identity.AddClaim(new Claim("email", context.Email)); context.Identity.AddClaim(new Claim("expiresin", ((int)(context.ExpiresIn.GetValueOrDefault().TotalSeconds)).ToString())); context.Identity.AddClaim(new Claim("accesstoken", context.AccessToken)); context.Identity.AddClaim(new Claim("refreshtoken", !string.IsNullOrEmpty(context.RefreshToken) ? context.RefreshToken : string.Empty)); return Task.FromResult(0); }, }; //Request the refresh token by specifying offline. //Will only arrive the first time the app is authorized. googleOptions.AccessType = "offline"; googleOptions.SignInAsAuthenticationType = DefaultAuthenticationTypes.ExternalCookie; app.UseGoogleAuthentication(googleOptions); }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Configure the db context, user manager and signin manager to use a single instance per request app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); 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)); // Enables the application to remember the second login verification factor such as phone or email. // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from. // This is similar to the RememberMe option when you log in. app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); var googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions { //CUAHSI - WDC Tools... ClientId = "208043537148-ds7a83pm5ssa61kj2jpg7rpojqrqchfj.apps.googleusercontent.com", ClientSecret = "ah5IH-1uSPb0LAgusAGy5AZM", CallbackPath = new PathString("/signin-google") }; app.UseGoogleAuthentication(googleOAuth2AuthenticationOptions); }
public static void ConfigureAdditionalIdentityProviders(IAppBuilder app, string signInAsType) { var google = new GoogleOAuth2AuthenticationOptions { AuthenticationType = "Google", SignInAsAuthenticationType = signInAsType, ClientId = "767400843187-8boio83mb57ruogr9af9ut09fkg56b27.apps.googleusercontent.com", ClientSecret = "5fWcBT0udKY7_b6E3gEiJlze" }; app.UseGoogleAuthentication(google); }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Configure the db context, user manager and signin manager to use a single instance per request app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); 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)); // Enables the application to remember the second login verification factor such as phone or email. // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from. // This is similar to the RememberMe option when you log in. app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); app.UseFacebookAuthentication( appId: "1657212351197583", appSecret: "5774f457ca0583ec274dee2b905f674d"); GoogleOAuth2AuthenticationOptions GoogleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = "48487136346-p9mhqnu1m4g21ig4kgijnj0gtgvmoqo6.apps.googleusercontent.com", ClientSecret = "DKDw7d48PYXxjzHUB-Paa6_s" }; app.UseGoogleAuthentication(GoogleOAuth2AuthenticationOptions); }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Configure the db context, user manager and signin manager to use a single instance per request app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); 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)); // Enables the application to remember the second login verification factor such as phone or email. // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from. // This is similar to the RememberMe option when you log in. app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); var options = new GoogleOAuth2AuthenticationOptions() { ClientId = "493453374473-q41cf8k4siegpfc0t72cpk7hjsbgi8si.apps.googleusercontent.com", ClientSecret = "IsBuN03c81adBcJy0w77GR2g", Provider = new GoogleOAuth2AuthenticationProvider() }; options.Scope.Add("email"); app.UseGoogleAuthentication(options); }
// 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("/Security/Login") }); // Use a cookie to temporarily store information about a user logging in with a third party login provider app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(); //app.UseGoogleAuthentication(new GoogleAuthenticationOptions()); //app.UseGoogleAuthentication( // clientId: "1040921104551-59rq7armuctseeqfub2gquvppbu4cab6.apps.googleusercontent.com", // clientSecret: "v9DBTfsFi0ZVDI03UjihTCzJ"); var googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions { ClientId = "1040921104551-59rq7armuctseeqfub2gquvppbu4cab6.apps.googleusercontent.com", ClientSecret = "v9DBTfsFi0ZVDI03UjihTCzJ", CallbackPath = new PathString("/Security/ExternalGoogleLoginCallback"), Provider = new GoogleOAuth2AuthenticationProvider() { OnAuthenticated = async context => { context.Identity.AddClaim(new Claim("picture", context.User.GetValue("picture").ToString())); context.Identity.AddClaim(new Claim("profile", context.User.GetValue("profile").ToString())); } } }; googleOAuth2AuthenticationOptions.Scope.Add("email"); app.UseGoogleAuthentication(googleOAuth2AuthenticationOptions); }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Configure the db context and user manager to use a single instance per request app.CreatePerOwinContext(DbContext.Create); app.CreatePerOwinContext<IUnitOfWork>(UnitOfWorkOle.Create); app.CreatePerOwinContext<App_Start.OwinSettings>(App_Start.OwinSettings.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Login"), Provider = new CookieAuthenticationProvider { OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, User, Guid>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentityCallback: (manager, user) => manager.GenerateUserIdentityAsync(user), getUserIdCallback: (id) => (new Guid(id.GetUserId()))) } }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); GoogleOAuth2AuthenticationOptions googleOpt = new GoogleOAuth2AuthenticationOptions(); googleOpt.ClientId = "928365693026-r7eoreit3e0fmnknh02ki8ivcf63qdj6.apps.googleusercontent.com"; googleOpt.ClientSecret = "zKBFHJptabxBR3-0YbRELa2x"; GoogleOAuth2AuthenticationProvider googleProv = new GoogleOAuth2AuthenticationProvider(); googleProv.OnAuthenticated = async context => { string googleEmailAddress = context.Email; string googleFirstName = context.GivenName; string googleLastName = context.FamilyName; }; googleOpt.Provider = googleProv; app.UseGoogleAuthentication(googleOpt); }
public static void ConfigureAuth(IAppBuilder app, Func<IStorefrontUrlBuilder> urlBuilderFactory) { // Configure the db context, user manager and role manager to use a single instance per request //app.CreatePerOwinContext(ApplicationUserStore.Create); //app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); //app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication( new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), CookieName = StorefrontConstants.AuthenticationCookie, Provider = new CookieAuthenticationProvider { OnApplyRedirect = context => ApplyRedirect(context, urlBuilderFactory) } }); 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)); // Enables the application to remember the second login verification factor such as phone or email. // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from. // This is similar to the RememberMe option when you log in. app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); var facebookOptions = new FacebookAuthenticationOptions(); facebookOptions.AppId = ConfigurationManager.AppSettings["OAuth2.Facebook.AppId"]; facebookOptions.AppSecret = ConfigurationManager.AppSettings["OAuth2.Facebook.Secret"]; app.UseFacebookAuthentication(facebookOptions); var googleOptions = new GoogleOAuth2AuthenticationOptions(); googleOptions.ClientId = ConfigurationManager.AppSettings["OAuth2.Google.ClientId"]; googleOptions.ClientSecret = ConfigurationManager.AppSettings["OAuth2.Google.Secret"]; app.UseGoogleAuthentication(googleOptions); }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Configure the db context and user manager to use a single instance per request app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); //add signalR //app.MapSignalR(); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, User>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); // Use a cookie to temporarily store information about a user logging in with a third party login provider app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(); var googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions { ClientId = "208043537148-ds7a83pm5ssa61kj2jpg7rpojqrqchfj.apps.googleusercontent.com", ClientSecret = "ah5IH-1uSPb0LAgusAGy5AZM", CallbackPath = new PathString("/signin-google") }; app.UseGoogleAuthentication(googleOAuth2AuthenticationOptions); }
public static IAppBuilder UseGoogleAuthentication(this IAppBuilder app, GoogleOAuth2AuthenticationOptions options) { if (app == null) { throw new ArgumentNullException("app"); } if (options == null) { throw new ArgumentNullException("options"); } app.Use(typeof(GoogleOAuth2AuthenticationMiddleware), app, options); return app; }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { app.UseCors(CorsOptions.AllowAll); // Configure the db context and user manager to use a single instance per request app.CreatePerOwinContext(EntityModel.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); // Configure the application for OAuth based flow PublicClientId = "self"; app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString("/API/Token"), Provider = new ApplicationOAuthProvider(PublicClientId), AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"), AccessTokenExpireTimeSpan = TimeSpan.FromDays(30), AllowInsecureHttp = true }; // Enable the application to use bearer tokens to authenticate users app.UseOAuthBearerTokens(OAuthOptions); app.SetDefaultSignInAsAuthenticationType(DefaultAuthenticationTypes.ExternalCookie); // Uncomment the following lines to enable logging in with third party login providers var microsoftOptions = new MicrosoftAccountAuthenticationOptions { ClientId = "000000004012ABA5", ClientSecret = "9KHkk7OfuYwr06NpsaBKEZxD0wfQZgE2" }; microsoftOptions.Scope.Add("wl.emails"); var facebookOptions = new FacebookAuthenticationOptions { AppId = "775625759162004", AppSecret = "d411869c0707a273d6530a6a9cc592f7" }; facebookOptions.Scope.Add("email"); var googleOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = "469646760415-qfrnioi99r3bmcfpsi7997m1h6qgj0b3.apps.googleusercontent.com", ClientSecret = "9YdAukql7ZKrm6RUI4hfXA7S" }; app.UseFacebookAuthentication(facebookOptions); app.UseMicrosoftAccountAuthentication(microsoftOptions); app.UseGoogleAuthentication(googleOptions); }
// Invoked once at startup to configure your application. public void Configuration(IAppBuilder app) { var config = new HttpConfiguration(); config.EnableCors(new CorsPolicyProvider()); var oauthServerOptions = new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/token"), AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30), Provider = new SimpleAuthorizationServerProvider(), RefreshTokenProvider = new SimpleRefreshTokenProvider(), AccessTokenFormat = new CustomJwtFormat() }; app.UseOAuthAuthorizationServer(oauthServerOptions); JwtConfig.Configure(app); //var oauthBearerOptions = new OAuthBearerAuthenticationOptions(); //app.UseOAuthBearerAuthentication(oauthBearerOptions); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); //Configure Google External Login googleAuthOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = "775909724150-qk4lumt102rqs2hldcjns5eud5i4qpdp.apps.googleusercontent.com", ClientSecret = "8_SYwyhFKrs5kJc6wxAu9Uf_", Provider = new GoogleAuthProvider() }; app.UseGoogleAuthentication(googleAuthOptions); //Configure Facebook External Login facebookAuthOptions = new FacebookAuthenticationOptions() { AppId = "xxxxxx", AppSecret = "xxxxxx", Provider = new FacebookAuthProvider() }; app.UseFacebookAuthentication(facebookAuthOptions); WebApiConfig.Configure(config); DependencyResolver.Configure(config); app.UseWebApi(config); }
public static void ConfigureAdditionalIdentityProviders2(IAppBuilder app, string signInAsType) { var gitHub = new GitHubAuthenticationOptions { AuthenticationType = "GitHub", SignInAsAuthenticationType = signInAsType, ClientId = "XXXXXXXXX", ClientSecret = "XXXXXXXXX", }; app.UseGitHubAuthentication(gitHub); var fb = new FacebookAuthenticationOptions { AuthenticationType = "Facebook", SignInAsAuthenticationType = signInAsType, AppId = "XXXXXXXXX", AppSecret = "XXXXXXXXX", Scope = {"email"} }; app.UseFacebookAuthentication(fb); var google = new GoogleOAuth2AuthenticationOptions { AuthenticationType = "Google", SignInAsAuthenticationType = signInAsType, ClientId = "XXXXXXXXX", ClientSecret = "XXXXXXXXX", Scope = {"email"} }; app.UseGoogleAuthentication(google); var cosign2 = new CosignAuthenticationOptions { AuthenticationType = "Cosign", SignInAsAuthenticationType = signInAsType, CosignServer = "weblogin.umich.edu", CosignServicePort = 6663, IdentityServerHostInstance = "core2", #if DEBUG ClientServer = "devservername" #else ClientServer = "prodservernameu" #endif }; app.UseCosignAuthentication(cosign2); }
/// <summary> /// Configure google sign-in /// </summary> /// <param name="app"></param> /// <param name="clientId"></param> /// <param name="clientSecret"></param> /// <param name="caption"></param> /// <param name="style"></param> /// <param name="icon"></param> /// <remarks> /// /// Nuget installation: /// Microsoft.Owin.Security.Google /// /// Google account documentation for ASP.Net Identity can be found: /// /// http://www.asp.net/web-api/overview/security/external-authentication-services#GOOGLE /// /// Google apps can be created here: /// /// https://developers.google.com/accounts/docs/OpenIDConnect#getcredentials /// /// </remarks> public static void ConfigureBackOfficeGoogleAuth(this IAppBuilder app, string clientId, string clientSecret, string caption = "Google", string style = "btn-google-plus", string icon = "fa-google-plus") { var googleOptions = new GoogleOAuth2AuthenticationOptions { ClientId = clientId, ClientSecret = clientSecret, //In order to allow using different google providers on the front-end vs the back office, // these settings are very important to make them distinguished from one another. SignInAsAuthenticationType = Constants.Security.BackOfficeExternalAuthenticationType, // By default this is '/signin-google', you will need to change that default value in your // Google developer settings for your web-app in the "REDIRECT URIS" setting CallbackPath = new PathString("/umbraco-google-signin") }; googleOptions.ForUmbracoBackOffice(style, icon); googleOptions.Caption = caption; app.UseGoogleAuthentication(googleOptions); }
public void ConfigureOAuth(IAppBuilder app) { // Configure the db context and user manager to use a single instance per request app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create); //use a cookie to temporarily store information about a user logging in with a third party login provider app.UseExternalSignInCookie(Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ExternalCookie); OAuthBearerOptions = new OAuthBearerAuthenticationOptions(); OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/api/token"), AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30), Provider = new SimpleAuthorizationServerProvider(), RefreshTokenProvider = new SimpleRefreshTokenProvider() }; // Token Generation app.UseOAuthAuthorizationServer(OAuthServerOptions); app.UseOAuthBearerAuthentication(OAuthBearerOptions); //Configure Google External Login googleAuthOptions = new GoogleOAuth2AuthenticationOptions() { ClientId = "xxxxxx", ClientSecret = "xxxxxx", Provider = new GoogleAuthProvider() }; app.UseGoogleAuthentication(googleAuthOptions); //Configure Facebook External Login facebookAuthOptions = new FacebookAuthenticationOptions() { AppId = "xxxxxx", AppSecret = "xxxxxx", Provider = new FacebookAuthProvider() }; app.UseFacebookAuthentication(facebookAuthOptions); }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Configure the db context, user manager and signin manager to use a single instance per request app.CreatePerOwinContext <WebsiteUserManager>(WebsiteUserManager.Create); app.CreatePerOwinContext <WebsiteUserSignInManager>(WebsiteUserSignInManager.Create); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, CookieName = "OneFineRate_ApplicationCookie", //LoginPath = new PathString("/Account/Login"), LoginPath = new PathString("/Home/Index"), Provider = new CookieAuthenticationProvider { // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity <WebsiteUserManager, WebsiteUser, long>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentityCallback: (manager, user) => user.GenerateUserIdentityAsync(manager), // Need to add THIS line because we added the third type argument (long) above: getUserIdCallback: (claim) => long.Parse(claim.GetUserId())) } }); 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)); // Enables the application to remember the second login verification factor such as phone or email. // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from. // This is similar to the RememberMe option when you log in. app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); var facebookOptions = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions() { AppId = ConfigurationManager.AppSettings.Get(PropertyConstant.FacebookAppId), AppSecret = ConfigurationManager.AppSettings.Get(PropertyConstant.FacebookAppSecret), BackchannelHttpHandler = new FacebookBackChannelHandler(), //UserInformationEndpoint = "https://graph.facebook.com/v2.9/me?fields=id,name,email,first_name,last_name,gender,picture.width(300).height(300)", Provider = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider() { OnAuthenticated = (context) => { var client = new FacebookClient(context.AccessToken); dynamic info = client.Get("me", new { fields = "id,name,email,first_name,last_name,gender,picture.width(300).height(300)" }); context.Identity.AddClaim(new Claim(PropertyConstant.FacebookUser, info.ToString())); return(Task.FromResult(true)); } } }; app.UseFacebookAuthentication(facebookOptions); var googleOption = new Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions() { ClientId = ConfigurationManager.AppSettings[PropertyConstant.GoogleClientId], ClientSecret = ConfigurationManager.AppSettings[PropertyConstant.GoogleClientSecret], Provider = new Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider() { OnAuthenticated = (context) => { context.Identity.AddClaim(new Claim(PropertyConstant.GoogleUser, context.User.ToString())); return(Task.FromResult(true)); } } }; app.UseGoogleAuthentication(googleOption); }
// Pour plus d’informations sur la configuration de l’authentification, rendez-vous sur http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Configurer le contexte de base de données, le gestionnaire des utilisateurs et le gestionnaire des connexions pour utiliser une instance unique par demande app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext <ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext <ApplicationSignInManager>(ApplicationSignInManager.Create); // [10000] app.CreatePerOwinContext <ApplicationRoleManager>(ApplicationRoleManager.Create); // Autoriser l’application à utiliser un cookie pour stocker des informations pour l’utilisateur connecté // et pour utiliser un cookie à des fins de stockage temporaire des informations sur la connexion utilisateur avec un fournisseur de connexion tiers // Configurer le cookie de connexion app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { // Permet à l'application de valider le timbre de sécurité quand l'utilisateur se connecte. // Cette fonction de sécurité est utilisée quand vous changez un mot de passe ou ajoutez une connexion externe à votre compte. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity <ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) }, //CookieName = ".YAFNET_Authentication" }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Permet à l'application de stocker temporairement les informations utilisateur lors de la vérification du second facteur dans le processus d'authentification à 2 facteurs. app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5)); // Permet à l'application de mémoriser le second facteur de vérification de la connexion, un numéro de téléphone ou un e-mail par exemple. // Lorsque vous activez cette option, votre seconde étape de vérification pendant le processus de connexion est mémorisée sur le poste à partir duquel vous vous êtes connecté. // Ceci est similaire à l'option RememberMe quand vous vous connectez. app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); // - [10006] - ADD: Social network login // Enable logging with third party login providers const string XmlSchemaString = "http://www.w3.org/2001/XMLSchema#string"; /// /// MICROSOFT /// var microsoftProvider = new Microsoft.Owin.Security.MicrosoftAccount.MicrosoftAccountAuthenticationProvider { OnAuthenticated = (context) => { foreach (var claim in context.User) { var claimType = string.Format("urn:microsoft:{0}", claim.Key); string claimValue = claim.Value.ToString(); if (!context.Identity.HasClaim(claimType, claimValue)) { context.Identity.AddClaim(new System.Security.Claims.Claim(claimType, claimValue, XmlSchemaString, "Microsoft")); } } return(System.Threading.Tasks.Task.FromResult(0)); } }; var mio = new Microsoft.Owin.Security.MicrosoftAccount.MicrosoftAccountAuthenticationOptions { ClientId = Utils.GetAppSetting("MicrosoftClientId"), ClientSecret = Utils.GetAppSetting("MicrosoftClientSecret"), CallbackPath = new PathString("/signin-microsoft"), Provider = microsoftProvider, }; mio.Scope.Add("wl.basic"); mio.Scope.Add("wl.emails"); mio.Scope.Add("wl.birthday"); mio.Scope.Add("wl.photos"); mio.Scope.Add("wl.postal_addresses"); app.UseMicrosoftAccountAuthentication(mio); /// /// TWITTER /// app.UseTwitterAuthentication(new Microsoft.Owin.Security.Twitter.TwitterAuthenticationOptions { ConsumerKey = Utils.GetAppSetting("TwitterConsumerKey"), ConsumerSecret = Utils.GetAppSetting("TwitterConsumerSecret"), }); /// /// FACEBOOK /// var facebookProvider = 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("FacebookAccessToken", context.AccessToken)); foreach (var claim in context.User) { var claimType = string.Format("urn:facebook:{0}", claim.Key); string claimValue = claim.Value.ToString(); if (!context.Identity.HasClaim(claimType, claimValue)) { context.Identity.AddClaim(new System.Security.Claims.Claim(claimType, claimValue, XmlSchemaString, "Facebook")); } } return(System.Threading.Tasks.Task.FromResult(0)); } }; var fao = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions { AppId = Utils.GetAppSetting("FaceBookAppId"), AppSecret = Utils.GetAppSetting("FaceBookAppSecret"), Provider = facebookProvider, CallbackPath = new PathString("/signin-facebook"), }; fao.Scope.Add("public_profile"); fao.Scope.Add("user_friends"); fao.Scope.Add("email"); //fao.Scope.Add("gender"); fao.Scope.Add("user_birthday"); ////fao.Scope.Add("first_name"); ////fao.Scope.Add("last_name"); fao.Scope.Add("user_likes"); fao.Scope.Add("user_about_me"); fao.Scope.Add("user_photos"); app.UseFacebookAuthentication(fao); /// /// GOOGLE /// var googleProvider = new Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider { OnAuthenticated = (context) => { foreach (var claim in context.User) { var claimType = string.Format("urn:google:{0}", claim.Key); string claimValue = claim.Value.ToString(); if (!context.Identity.HasClaim(claimType, claimValue)) { context.Identity.AddClaim(new System.Security.Claims.Claim(claimType, claimValue, XmlSchemaString, "Google")); } } return(System.Threading.Tasks.Task.FromResult(0)); } }; var goo = new Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions { ClientId = Utils.GetAppSetting("GoogleClientId"), ClientSecret = Utils.GetAppSetting("GoogleClientSecret"), CallbackPath = new PathString("/signin-google"), Provider = googleProvider, }; app.UseGoogleAuthentication(goo); /// /// GITHUB : [10026] ADD: Github for external login /// var githubProvider = new GitHubAuthenticationProvider { OnAuthenticated = (context) => { foreach (var claim in context.User) { var claimType = string.Format("urn:github:{0}", claim.Key); string claimValue = claim.Value.ToString(); if (!context.Identity.HasClaim(claimType, claimValue)) { context.Identity.AddClaim(new System.Security.Claims.Claim(claimType, claimValue, XmlSchemaString, "GitHub")); } } return(System.Threading.Tasks.Task.FromResult(0)); } }; var git = new GitHubAuthenticationOptions { ClientId = Utils.GetAppSetting("GitHubClientId"), ClientSecret = Utils.GetAppSetting("GitHubClientSecret"), Provider = githubProvider, }; //git.Scope.Add("avatar_url"); //git.Scope.Add("user"); //git.Scope.Add("email"); //git.Scope.Add("repo"); //git.Scope.Add("gist"); app.UseGitHubAuthentication(git); }