protected override void ProcessCore(IdentityProvidersArgs args) { Assert.ArgumentNotNull(args, "args"); IdentityProvider = this.GetIdentityProvider(); var provider = new FacebookAuthenticationProvider { OnAuthenticated = (context) => { context.Identity.ApplyClaimsTransformations(new Owin.Authentication.Services.TransformationContext(this.FederatedAuthenticationConfiguration, IdentityProvider)); return(Task.CompletedTask); }, OnReturnEndpoint = (context) => { return(Task.CompletedTask); } }; FacebookAuthenticationOptions fbAuthOptions = new FacebookAuthenticationOptions { AppId = Configuration.Settings.GetSetting("FedAuth.Facebook.AppId"), AppSecret = Configuration.Settings.GetSetting("FedAuth.Facebook.AppSecret"), Provider = provider, CallbackPath = new PathString("/signin-facebook"), AuthenticationType = IdentityProvider.Name }; fbAuthOptions.Scope.Add("email"); fbAuthOptions.Fields.Add("name"); fbAuthOptions.Fields.Add("email"); args.App.UseFacebookAuthentication(fbAuthOptions); }
protected override void ProcessCore(IdentityProvidersArgs args) { Assert.ArgumentNotNull(args, "args"); IdentityProvider identityProvider = this.GetIdentityProvider(); string authenticationType = this.GetAuthenticationType(); var facebookProvider = new FacebookAuthenticationProvider() { OnAuthenticated = (context) => { // transform all claims ClaimsIdentity identity = context.Identity; foreach (Transformation current in identityProvider.Transformations) { current.Transform(identity, new TransformationContext(FederatedAuthenticationConfiguration, identityProvider)); } return(System.Threading.Tasks.Task.FromResult(0)); }, OnReturnEndpoint = (context) => { if (context.Request.Query["state"] != null) { var state = HttpUtility.ParseQueryString(context.Request.Query["state"]); //todo: do something with it. } return(System.Threading.Tasks.Task.FromResult(0)); } }; FacebookAuthenticationOptions options = new FacebookAuthenticationOptions(); options.AppId = "2054803864733162"; options.AppSecret = "c73b086a7fcf315ae7c5ce21877d8798"; options.Provider = facebookProvider; options.CallbackPath = new PathString("/signin-facebook"); options.Fields.Add("name"); options.Fields.Add("email"); options.Scope.Add("email"); args.App.UseFacebookAuthentication(options); }
// 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: ""); var x = new FacebookAuthenticationProvider() { OnAuthenticated = async context => context.Identity.AddClaim(new System.Security.Claims.Claim("FacebookAccessToken", context.AccessToken)) }; var f = new FacebookAuthenticationOptions() { AppId = "382105955290612", AppSecret = "87b50c29f0c531f22f080b72cd62a5ec", Provider = x }; app.UseFacebookAuthentication(f); //app.UseFacebookAuthentication( // appId: "382105955290612", // appSecret: "87b50c29f0c531f22f080b72cd62a5ec"); app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() { ClientId = "453506101300-hrmnjibba5g7m60eda9vdgg3s96hhl8j.apps.googleusercontent.com", ClientSecret = "bH8ycqKLIBJIa0iio_sibDvb" }); }
// 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); // 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 //== var provider = new CookieAuthenticationProvider { OnException = context => { } }; //== app.UseCookieAuthentication(new CookieAuthenticationOptions() { Provider = provider }); //app.UseCookieAuthentication(new CookieAuthenticationOptions()); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Configure the application for OAuth based flow PublicClientId = "self"; OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString("/Token"), Provider = new ApplicationOAuthProvider(PublicClientId), AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"), AccessTokenExpireTimeSpan = TimeSpan.FromDays(14), // In production mode set AllowInsecureHttp = false AllowInsecureHttp = true }; // 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 if (!String.IsNullOrEmpty(MicrosoftClientID) && !String.IsNullOrEmpty(MicrosoftSecret)) { app.UseMicrosoftAccountAuthentication(MicrosoftClientID, MicrosoftSecret); } if (!String.IsNullOrEmpty(TwitterSecret) && !String.IsNullOrEmpty(TwitterSecret)) { app.UseTwitterAuthentication(TwitterKey, TwitterSecret); } if (!String.IsNullOrEmpty(FacebookAppID) && !String.IsNullOrEmpty(FacebookSecret)) { //app.UseFacebookAuthentication(FacebookAppID, FacebookSecret); var facebookProvider = new FacebookAuthenticationProvider() { OnAuthenticated = (context) => { // Add the email id to the claim context.Identity.AddClaim(new Claim(ClaimTypes.Email, context.Email)); return(Task.FromResult(0)); } }; var options = new FacebookAuthenticationOptions() { AppId = FacebookAppID, AppSecret = FacebookSecret, Provider = facebookProvider }; options.Scope.Add("email"); app.UseFacebookAuthentication(options); } if (!String.IsNullOrEmpty(GoogleClientID) && !String.IsNullOrEmpty(GoogleSecret)) { app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() { ClientId = GoogleClientID, ClientSecret = GoogleSecret }); } }
/// <summary> /// Initializes Facebook for use with Parse. /// </summary> /// <param name="serviceHub">The service hub to use.</param> /// <param name="authenticator">The <see cref="FacebookAuthenticationProvider"/> instance to use for Facebook authentication.</param> public static void InitializeFacebookAuthentication(this IServiceHub serviceHub, FacebookAuthenticationProvider authenticator) { if (authenticator is IServiceHubMutator { Valid : true })
// 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); // 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 var provider = new CookieAuthenticationProvider { OnException = context => { } }; app.UseCookieAuthentication(new CookieAuthenticationOptions() { Provider = provider }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Configure the application for OAuth based flow PublicClientId = "self"; OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString("/Token"), Provider = new ApplicationOAuthProvider(PublicClientId), AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"), AccessTokenExpireTimeSpan = TimeSpan.FromDays(14), AllowInsecureHttp = true }; // 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: "", // consumerSecret: ""); var facebookProvider = new FacebookAuthenticationProvider() { OnAuthenticated = (context) => { // Add the email id to the claim context.Identity.AddClaim(new Claim(ClaimTypes.Email, context.Email)); return(Task.FromResult(0)); } }; var options = new FacebookAuthenticationOptions() { AppId = "827541077270473", AppSecret = "aa63a79f14dff2a568db23b90bbfd6d7", Provider = facebookProvider }; options.Scope.Add("email"); app.UseFacebookAuthentication(options); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //}); }