public void ConfigureOAuth(IAppBuilder app, IBearerTokenExpirationTask bearerTokenExpirationTask) { //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 AuthorizationServerProvider(bearerTokenExpirationTask), RefreshTokenProvider = new RefreshTokenProvider() }; // 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 = ConfigurationManager.AppSettings["FacebookAppID"], AppSecret = ConfigurationManager.AppSettings["FacebookAppSecret"], Provider = new FacebookAuthProvider() }; app.UseFacebookAuthentication(facebookAuthOptions); }
public AuthorizationServerProvider(IBearerTokenExpirationTask bearerTokenExpirationTask) { this.bearerTokenExpirationTask = bearerTokenExpirationTask; }