// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { ConfigureService.ConfigureDependenciesService(services); ConfigureRepository.ConfigureDependenciesService(services); var config = new MapperConfiguration(cfg => { cfg.AddProfile(new DomainModelMapping()); cfg.AddProfile(new DtoModelMapping()); cfg.AddProfile(new DomainDtoMapping()); }); var mapper = config.CreateMapper(); services.AddSingleton(mapper); services.AddCors(options => { options.AddPolicy(name: AllowOrigins, builder => { builder.AllowAnyOrigin() .AllowAnyHeader() .AllowAnyMethod(); }); }); services.AddControllers(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { string connectionString = Configuration.GetConnectionString("ConnectionString"); ConfigureRepository.ConfigureDependenciesService(services, connectionString); ConfigureService.ConfigureDependenciesService(services); // Configuration JTW ConfigureJwt.ConfigureDependenciesJwt(services, Configuration); // End Configuration JTW // Configuration MailJet ConfigureMailJet.ConfigureDependecieMailJet(services, Configuration); // End Configuration MailJet services.AddControllers().AddNewtonsoftJson(op => op.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Version = "v1", Title = "Me agenda aí - API", Description = "API para gerenciamento da aplicação me agenda aí", TermsOfService = new Uri("https://github.com/Maarkis/MeAgendaAiAPI"), Contact = new OpenApiContact { Name = "Jean Markis - Manoela Viana - Vitória Simões", Email = "[email protected];[email protected];[email protected]", Url = new Uri("https://github.com/Maarkis/MeAgendaAiAPI"), }, License = new OpenApiLicense { Name = "Use under LICX", Url = new Uri("https://example.com/license"), } }); c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Description = "Token JWT", Name = "Authorization", In = ParameterLocation.Header, Type = SecuritySchemeType.ApiKey }); c.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Id = "Bearer", Type = ReferenceType.SecurityScheme } }, new List <string>() } }); }); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { //Injeção de Dependências ConfigureService.ConfigureDependenciesService(services); ConfigureRepository.ConfigureDependenciesService(services); services.AddControllers(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { ConfigureSwagger.ConfigureDependenciesService(services); ConfigureService.ConfigureDependenciesService(services); ConfigureRepository.ConfigureDependenciesService(services); var config = new MapperConfiguration(cfg => { cfg.AddProfile(new DtoToModelProfile()); cfg.AddProfile(new EntityToDtoProfile()); cfg.AddProfile(new ModelToEntityProfile()); }); IMapper mapper = config.CreateMapper(); services.AddSingleton(mapper); var signingConfiguration = new SigningConfiguration(); services.AddSingleton(signingConfiguration); var tokenConfiguration = new TokenConfiguration(); new ConfigureFromConfigurationOptions <TokenConfiguration>( Configuration.GetSection("TokenConfiguration")) .Configure(tokenConfiguration); services.AddSingleton(tokenConfiguration); services.AddAuthentication(authOptions => { authOptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; authOptions.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(bearerOptions => { var paramsValidation = bearerOptions.TokenValidationParameters; paramsValidation.IssuerSigningKey = signingConfiguration.SecurityKey; paramsValidation.ValidAudience = tokenConfiguration.Audience; paramsValidation.ValidIssuer = tokenConfiguration.Issuer; paramsValidation.ValidateIssuerSigningKey = true; paramsValidation.ValidateLifetime = true; paramsValidation.ClockSkew = TimeSpan.Zero; }); services.AddAuthorization(auth => { auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder() .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme) .RequireAuthenticatedUser() .Build()); }); services.AddControllers(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { ConfigureService.ConfigureDependenciesService(services); ConfigureRepository.ConfigureDependenciesService(services); var signingConfigurations = new SigningConfigurations(); services.AddSingleton(signingConfigurations); //imbutindo a configuração do json var tokenConfigurations = new TokenConfigurations(); new ConfigureFromConfigurationOptions <TokenConfigurations>( Configuration.GetSection("TokenConfigurations")) .Configure(tokenConfigurations); services.AddSingleton(tokenConfigurations); services.AddAuthentication(authOptions => { authOptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; authOptions.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(bererOptions => { var paramsValidation = bererOptions.TokenValidationParameters; paramsValidation.IssuerSigningKey = signingConfigurations.Key; paramsValidation.ValidAudience = tokenConfigurations.Audience; paramsValidation.ValidIssuer = tokenConfigurations.Issuer; paramsValidation.ValidateIssuerSigningKey = true; paramsValidation.ValidateLifetime = true; paramsValidation.ClockSkew = TimeSpan.Zero; }); services.AddAuthorization(auth => { auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder() .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme) .RequireAuthenticatedUser().Build()); }); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "AspNetCore 2.2", Version = "v1", Description = "Exemplo" }); }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { ConfigureService.ConfigureDependenciesService(services); ConfigureRepository.ConfigureDependenciesService(services); services.AddControllers(); var config = new AutoMapper.MapperConfiguration(cfg => { cfg.AddProfile(new DtoToModelProfile()); cfg.AddProfile(new EntityToDtoProfile()); cfg.AddProfile(new ModelToEntityProfile()); }); IMapper mapper = config.CreateMapper(); services.AddSingleton(mapper); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { ConfigureService.ConfigureDependenciesService(services); ConfigureRepository.ConfigureDependenciesService(services); var config = new MapperConfiguration(cfg => { cfg.AddProfile(new DtoModelProfile()); cfg.AddProfile(new EntityDtoProfile()); cfg.AddProfile(new ModelToEntityProfile()); }); IMapper mapper = config.CreateMapper(); services.AddSingleton(mapper); var signingConfigurations = new SigningConfigurations(); services.AddSingleton(signingConfigurations); var tokenConfigurations = new TokenConfigurations(); new ConfigureFromConfigurationOptions <TokenConfigurations>( Configuration.GetSection("TokenConfigurations")).Configure(tokenConfigurations); services.AddSingleton(tokenConfigurations); services.AddControllers(); services.AddAuthentication(authOptions => { authOptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; authOptions.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(bearerOptions => { var paramsValidation = bearerOptions.TokenValidationParameters; paramsValidation.IssuerSigningKey = signingConfigurations.Key; paramsValidation.ValidAudience = tokenConfigurations.Audience; paramsValidation.ValidIssuer = tokenConfigurations.Issuer; paramsValidation.ValidateIssuerSigningKey = true; paramsValidation.ValidateLifetime = true; paramsValidation.ClockSkew = TimeSpan.Zero; }); services.AddAuthorization(auth => { auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder() .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme) .RequireAuthenticatedUser().Build()); }); services.AddSwaggerGen(u => { u.SwaggerDoc("v1", new OpenApiInfo { Version = "v1", Title = "Curso de API DDD", Description = "Arquitetura DDD", TermsOfService = new Uri("http://www.google.com"), Contact = new OpenApiContact { Name = "Iovan Barros", Email = "*****@*****.**", Url = new Uri("http://www.google.com") }, License = new OpenApiLicense { Name = "Termo de Licença de Uso", Url = new Uri("http://www.google.com") } }); u.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Description = "Entre com o Token JwT", Name = "Authorization", In = ParameterLocation.Header, Type = SecuritySchemeType.ApiKey }); u.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Id = "Bearer", Type = ReferenceType.SecurityScheme } }, new List <string>() } }); }); }