protected override void ProcessCore(IdentityProvidersArgs args) { Assert.ArgumentNotNull(args, "args"); IdentityProvider = this.GetIdentityProvider(); var provider = new GoogleOAuth2AuthenticationProvider { OnAuthenticated = (context) => { context.Identity.ApplyClaimsTransformations(new Owin.Authentication.Services.TransformationContext(this.FederatedAuthenticationConfiguration, IdentityProvider)); return(Task.CompletedTask); } }; GoogleOAuth2AuthenticationOptions googleOptions = new GoogleOAuth2AuthenticationOptions { ClientId = Configuration.Settings.GetSetting("FedAuth.Google.ClientId"), ClientSecret = Configuration.Settings.GetSetting("FedAuth.Google.ClientSecret"), Provider = provider, AuthenticationType = IdentityProvider.Name, CallbackPath = new PathString("/signin-google") }; args.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(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); }
protected override void ProcessCore(IdentityProvidersArgs args) { Assert.ArgumentNotNull(args, "args"); IdentityProvider identityProvider = this.GetIdentityProvider(); var clientId = Sitecore.Configuration.Settings.GetSetting("FedAuth.Google.ClientId"); var clientSecret = Sitecore.Configuration.Settings.GetSetting("FedAuth.Google.ClientSecret"); var domain = Sitecore.Configuration.Settings.GetSetting("FedAuth.Google.Domain"); var provider = new GoogleOAuth2AuthenticationProvider { 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) => { // xsrf validation if (context.Request.Query["state"] != null && context.Request.Query["state"].Contains("xsrf=")) { var state = HttpUtility.ParseQueryString(context.Request.Query["state"]); //todo: do something with it. //change response status to 401 in case of forgery } return(System.Threading.Tasks.Task.FromResult(0)); } }; args.App.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() { ClientId = clientId, ClientSecret = clientSecret, Provider = provider }); }
protected override void ProcessCore(IdentityProvidersArgs args) { Assert.ArgumentNotNull(args, "args"); IdentityProvider identityProvider = this.GetIdentityProvider(); string authenticationType = this.GetAuthenticationType(); //Google var googleProvider = new GoogleOAuth2AuthenticationProvider() { 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 : need to do something with it } return(System.Threading.Tasks.Task.FromResult(0)); } }; GoogleOAuth2AuthenticationOptions googleOptions = new GoogleOAuth2AuthenticationOptions(); googleOptions.ClientId = "839319546746-bpijo8mlsi4isld86jeah76974u1n39i.apps.googleusercontent.com"; googleOptions.ClientSecret = "RrqhHCb5hf5_0DYrTOsLnP-F"; googleOptions.Provider = googleProvider; googleOptions.CallbackPath = new PathString("/signin-google"); args.App.UseGoogleAuthentication(googleOptions); }
protected override void ProcessCore(IdentityProvidersArgs args) { Assert.ArgumentNotNull(args, "args"); IdentityProvider identityProvider = this.GetIdentityProvider(); string authenticationType = this.GetAuthenticationType(); //Google var googleProvider = new GoogleOAuth2AuthenticationProvider() { 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)); } }; GoogleOAuth2AuthenticationOptions googleOptions = new GoogleOAuth2AuthenticationOptions(); googleOptions.ClientId = "56239192454-rab6l2919d24umtvv2lim3te6h8rgo77.apps.googleusercontent.com"; googleOptions.ClientSecret = "38AbD8PNy8bw8oaBvhHDyH8W"; googleOptions.Provider = googleProvider; googleOptions.CallbackPath = new PathString("/signin-google"); args.App.UseGoogleAuthentication(googleOptions); }