// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { ConfigureService.ConfigureDependeciesService(services); ConfigurationRepository.ConfigureDependeciesRepository(services); ConfigurationContext.ConfigureDependeciesContext(services); var signingConfiguration = new SigningConfiguration(); services.AddSingleton(signingConfiguration); var tokenConfiguration = new TokenConfiguration(); new ConfigureFromConfigurationOptions <TokenConfiguration>(Configuration.GetSection("TokenConfiguration")).Configure(tokenConfiguration); services.AddSingleton(tokenConfiguration); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Api em .net core ", Description = "Projeto utilizado para fins didáticos", Version = "v1", Contact = new OpenApiContact { Name = "Uigor Silva Fonseca", Url = new Uri("https://github.com/uigormarshall") } }); }); services.AddControllers(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { ConfigureService.ConfigureDependeciesService(services); ConfigureRepository.ConfigureDependeciesRepository(services); 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) { //services.AddControllers(); ConfigureRopository.ConfigureDependeciesRepository(services); ConfigureService.ConfigureDependeciesService(services); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); }); services.AddMvc(); }
public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddMemoryCache(); services.Configure <GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Fastest); services.AddResponseCompression(option => { option.Providers.Add <GzipCompressionProvider>(); }); ConfigureService.ConfigureDependeciesService(services); ConfigureRepository.ConfigureDependeciesRepository(services); string conStr = Configuration.GetConnectionString("DefaultConnection"); BaseContextHelpers.SetConnectionStr(conStr); var serverVersion = new MySqlServerVersion(new Version(5, 7, 17)); services.AddDbContextPool <BaseContext>( dbContextOptions => dbContextOptions .UseMySql(conStr, serverVersion) .EnableDetailedErrors() ); var ver = ServerVersion.AutoDetect(conStr); services.AddDbContext <BaseContext>(options => options.UseMySql(conStr, ver)); //CORS string[] hostPermitido = new string[] { "*", "http://localhost:3000", "http://localhost:3001" }; services.AddCors(options => { options.AddPolicy("PolicyCORS", builder => builder .WithOrigins(hostPermitido) .AllowAnyMethod() .AllowAnyHeader() ); }); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { ConfigureService.ConfigureDependeciesService(services); ConfigureRepository.ConfigureDependeciesRepository(services); var signingConfigurations = new SigningConfiguration(); services.AddSingleton(signingConfigurations); var tokenConfiguration = new TokenConfigurations(); new ConfigureFromConfigurationOptions <TokenConfigurations>( 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 = signingConfigurations.Key; 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(); services.AddSwaggerGen(x => { x.SwaggerDoc("v1", new OpenApiInfo { Version = "v1", Title = "Api-Restful-DDD", Description = "DDD Architecture", Contact = new OpenApiContact { Name = "Carlos Cunha", Email = "*****@*****.**" } }); x.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Description = "Acess Token", Name = "Authorization", In = ParameterLocation.Header, Type = SecuritySchemeType.ApiKey }); x.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) { ConfigureService.ConfigureDependeciesService(services); ConfigureRepository.configureDependenceRepository(services); var signingConfigurations = new SigningConfiguration(); services.AddSingleton(signingConfigurations); var tokenConfigurations = new TokenConfiguration(); new ConfigureFromConfigurationOptions <TokenConfiguration>( Configuration.GetSection("TokenConfigurations")) .Configure(tokenConfigurations); services.AddSingleton(tokenConfigurations); services.AddAuthentication(authOptions => { authOptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; authOptions.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(barerOptions => { var paramsValidation = barerOptions.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.AddControllers(); var config = new AutoMapper.MapperConfiguration( config => { config.AddProfile(new DtoToModelProfile()); config.AddProfile(new EntityToDtoProfile()); config.AddProfile(new ModelToEntityProfile()); } ); IMapper mapper = config.CreateMapper(); services.AddSingleton(mapper); services.AddSwaggerGen( configuration => { configuration.SwaggerDoc("v1", new OpenApiInfo { Version = "v1", Title = "Aprendendo DDD", Description = "Arquitetura DDD", TermsOfService = new Uri("http://www.cin.ufpe.br/~ans3"), Contact = new OpenApiContact { Name = "Adriano Santana", Email = "*****@*****.**", Url = new Uri("http://www.cin.ufpe.br/~ans3") } }); configuration.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Description = "Inserir token Jwt", Name = "Authorization", In = ParameterLocation.Header, Type = SecuritySchemeType.ApiKey }); configuration.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) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddDbContext <MultiLingoContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MultiLingoDb"), b => b.MigrationsAssembly("MultiLingo.Infra"))); var signingConfigurations = new SigningConfigurations(); services.AddSingleton(signingConfigurations); var tokenConfigurations = new TokenConfigurations(); new ConfigureFromConfigurationOptions <TokenConfigurations>( Configuration.GetSection("TokenConfigurations")).Configure(tokenConfigurations); services.AddSingleton(tokenConfigurations); //DI ConfigureService.ConfigureDependeciesService(services); ConfigureRepository.ConfigureDependeciesRepository(services); services.AddAuthentication(auth => { auth.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; auth.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(x => { x.SwaggerDoc("v1", new OpenApiInfo { Title = "MultiLingo API", Version = "v1" }); x.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Description = "Entre com o token JWT", Name = "Authorization", In = ParameterLocation.Header, Type = SecuritySchemeType.ApiKey }); x.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) { services.AddCors(); ConfigureService.ConfigureDependeciesService(services); ConfigureRepository.ConfigureDependeciesRepository(services); services.AddScoped <WebSocketHandler, ChatMessageHandler>(); var signingConfigurations = new SigningConfigurations(); services.AddSingleton(signingConfigurations); 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(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; bearerOptions.Events = new JwtBearerEvents { OnTokenValidated = context => { //verificar se o token esta valido return(Task.CompletedTask); } }; }); services.AddAuthorization(auth => { auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder() .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme) .RequireAuthenticatedUser().Build()); }); //Swagger services.AddMvc(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "API - Comunicação de Dados", Version = "v1", Description = "Trabalho prático" }); c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Name = "Authorization", Type = SecuritySchemeType.ApiKey, Scheme = "Bearer", BearerFormat = "JWT", In = ParameterLocation.Header, Description = "JWT Authorization utilizando o scheme Bearer" }); c.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } }, new string[] {} } }); // Set the comments path for the Swagger JSON and UI. var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); c.IncludeXmlComments(xmlPath); }); services.AddControllers(); services.AddWebSocketManager(); }