// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { IdentityModelEventSource.ShowPII = true; services.AddCors(); services.AddAuthentication(); services.AddAuthorization(); services.AddIdentityServer(options => { options.UserInteraction.LoginUrl = "/Identity/Login"; options.UserInteraction.LogoutUrl = "/Identity/Logout"; }) .AddInMemoryApiResources(IdentityServerConfiguration.GetApiResources()) .AddInMemoryIdentityResources(IdentityServerConfiguration.GetIdentityResources()) .AddInMemoryClients(IdentityServerConfiguration.GetClients()) .AddInMemoryApiScopes(IdentityServerConfiguration.GetApiScopes()) .AddResourceOwnerValidator <ResourceOwnerPasswordValidator>() .AddDeveloperSigningCredential(); services.AddControllersWithViews(); }
/// <summary> /// Configura os serviços do sistema /// </summary> /// <param name="services"></param> /// <returns></returns> public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddControllers().AddNewtonsoftJson(); services.AddAutofac(); services.AddApiVersioning(p => { p.DefaultApiVersion = new ApiVersion(1, 0); p.ReportApiVersions = true; p.AssumeDefaultVersionWhenUnspecified = true; }); ContainerBuilder container = new ContainerBuilder(); services.AddMvc(options => { options.Filters.Add(new HeaderFilter()); options.Filters.Add(new ProtocolFilter()); //options.Filters.Add(new ValidatorFilter()); }); services.ConfigureOptions(Configuration); // configure identity server with in-memory stores, keys, clients and scopes services.AddIdentityServer() .AddDeveloperSigningCredential() //AddSigningCredential() .AddInMemoryClients(IdentityServerConfiguration.GetClients()) .AddInMemoryIdentityResources(IdentityServerConfiguration.GetIdentityResources()) .AddInMemoryApiScopes(IdentityServerConfiguration.GetApiScopes()) .AddInMemoryApiResources(IdentityServerConfiguration.GetApiResources()) .AddResourceOwnerValidator <Application.Auth.ResourceOwnerPasswordValidator>(); //.AddLdapUsers<OpenLdapAppUser>(Configuration.GetSection("ldapActiveDirectory"), UserStore.InMemory); // Configurando o serviço de documentação do Swagger services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Sistema de recursos humanos", Version = "v1", Description = "API REST para manutenção de dados de colaboradores da Susep", }); string caminhoAplicacao = PlatformServices.Default.Application.ApplicationBasePath; string nomeAplicacao = PlatformServices.Default.Application.ApplicationName; string caminhoXmlDoc = Path.Combine(caminhoAplicacao, $"{nomeAplicacao}.xml"); c.IncludeXmlComments(caminhoXmlDoc); }); services.ConfigureOptions(Configuration); container.Populate(services); container.RegisterModule(new MediatorModuleConfiguration()); container.RegisterModule(new ApplicationModuleConfiguration(Configuration)); return(new AutofacServiceProvider(container.Build())); }