public void Configuration(IAppBuilder app) { var builder = new ContainerBuilder(); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); var container = builder.Build(); JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary <string, string>(); var factory = InMemoryFactory.Create( users: Users.Get(), clients: Clients.Get(), scopes: Scopes.Get()); var options = new IdentityServerOptions { Factory = factory }; app.UseIdentityServer(options); app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions { Authority = "https://localhost:44333", RequiredScopes = new[] { "api1" } }); var config = new HttpConfiguration(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); app.UseAutofacMiddleware(container); app.UseAutofacWebApi(config); app.UseWebApi(config); }
public void Configuration(IAppBuilder app) { var options = new IdentityServerOptions { Factory = new IdentityServerServiceFactory() .UseInMemoryClients(Clients.Get()) .UseInMemoryScopes(Scopes.Get()) .UseInMemoryUsers(Users.Get()), LoggingOptions = new LoggingOptions { EnableHttpLogging = true, EnableKatanaLogging = true, EnableWebApiDiagnostics = true }, EventsOptions = new EventsOptions { RaiseErrorEvents = true, RaiseFailureEvents = true, RaiseInformationEvents = true, RaiseSuccessEvents = true }, RequireSsl = false }; app.UseIdentityServer(options); }
public void Configuration(IAppBuilder app) { //var factory2 = new IdentityServerServiceFactory(); //LogProvider.SetCurrentLogProvider(new DiagnosticsTraceLogProvider()); //var factory = InMemoryFactory.Create( // scopes: Scopes.Get(), // clients: Clients.Get(), // users: Users2.Get() // ); var factory = new IdentityServerServiceFactory(); var scopeStore = new InMemoryScopeStore(Scopes.Get()); factory.ScopeStore = new Registration <IScopeStore>(scopeStore); var clientStore = new InMemoryClientStore(Clients.Get()); factory.ClientStore = new Registration <IClientStore>(clientStore); factory.TokenService = new Registration <ITokenService>(typeof(MyCustomTokenService)); factory.RefreshTokenStore = new Registration <IRefreshTokenStore>(typeof(MyCustomRefreshTokenStore)); factory.CustomTokenValidator = new Registration <ICustomTokenValidator>(new MyCustomTokenValidator()); factory.TokenHandleStore = new Registration <ITokenHandleStore>(new MyCustomTokenHandleStore()); factory.ConfigureUserService("AspId"); LogProvider.SetCurrentLogProvider(new NLogLogProvider()); //LogProvider.SetCurrentLogProvider(new DiagnosticsTraceLogProvider()); //factory.TokenHandleStore = new Registration<ITokenHandleStore>(); //factory.RefreshTokenStore = new Registration<IRefreshTokenStore>(); //factory.CustomTokenValidator = new Registration<ICustomTokenValidator>(new MyCustomTokenValidator()); //factory.Register(new Registration<IUserService, MyCustomUserService>()); //factory.Register(new Registration<IMyCustomLogger, MyCustomLogger>()); //factory.UserService = new Registration<IUserService>(typeof(IUserService)); var options = new IdentityServerOptions { Factory = factory, //IssuerUri = "https://idsrv3.com", SiteName = "Thinktecture IdentityServer3 Halo", SigningCertificate = Certificate.Get(), RequireSsl = false, CspOptions = new CspOptions { Enabled = true, }, Endpoints = new EndpointOptions { EnableAccessTokenValidationEndpoint = true, EnableTokenEndpoint = true, EnableTokenRevocationEndpoint = true, EnableIdentityTokenValidationEndpoint = true, //remove in production EnableDiscoveryEndpoint = true, EnableAuthorizeEndpoint = false, EnableClientPermissionsEndpoint = false, EnableCspReportEndpoint = false, EnableEndSessionEndpoint = false, EnableCheckSessionEndpoint = false, EnableUserInfoEndpoint = false }, AuthenticationOptions = new AuthenticationOptions { EnableLocalLogin = true, EnableLoginHint = false, }, LoggingOptions = new LoggingOptions { EnableHttpLogging = true, EnableWebApiDiagnostics = true, IncludeSensitiveDataInLogs = true, WebApiDiagnosticsIsVerbose = true }, EnableWelcomePage = false, IssuerUri = "https://HFL0100:44333" }; options.CorsPolicy.AllowedOrigins.Add("http://localhost:14869/"); app.UseHsts(); app.UseIdentityServer(options); }