// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddMvc(); services.AddDbContext <RSContext>(option => option.UseSqlServer(Configuration.GetConnectionString("RSConnection"))); services.AddScoped(typeof(IRepository <>), typeof(Repository <>)); // Add all Transient dependencies services = BuildUnityContainer.RegisterAddTransient(services); //Configure CORS for angular2 UI services.AddCors(options => { options.AddPolicy(DefaultCorsPolicyName, p => { //todo: Get from confiuration p.WithOrigins("http://localhost:4200").AllowAnyHeader().AllowAnyMethod(); }); }); // Register the Swagger generator, defining one or more Swagger documents services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Version = "v1", Title = "RS System", Description = "A sample API architecture for RS system.", TermsOfService = "None", License = new License { Name = "Evry India", Url = "http://evry.com/" } }); }); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddMvc(); services.AddDbContext <RSContext>(option => option.UseSqlServer(Configuration.GetConnectionString("RSConnection"))); services.AddScoped(typeof(IRepository <>), typeof(Repository <>)); // Add all Transient dependencies services = BuildUnityContainer.RegisterAddTransient(services); //Configure CORS for angular2 UI services.AddCors(options => { options.AddPolicy(DefaultCorsPolicyName, p => { //todo: Get from confiuration p.WithOrigins("http://localhost:4200").AllowAnyHeader().AllowAnyMethod(); }); }); // Register the Swagger generator, defining one or more Swagger documents services.AddSwaggerGen(c => { c.SwaggerDoc("v1.0", new Info { Title = "RHPM API v1.0", Version = "v1.0" }); c.AddSecurityDefinition("Bearer", new ApiKeyScheme { Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"", Name = "Authorization", In = "header", Type = "apiKey" }); }); services.AddAuthentication(options => { options.DefaultAuthenticateScheme = "Jwt"; options.DefaultChallengeScheme = "Jwt"; }).AddJwtBearer("Jwt", options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateAudience = false, //ValidAudience = "the audience you want to validate", ValidateIssuer = false, //ValidIssuer = "the isser you want to validate", ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["SigningKey"])), ValidateLifetime = true, //validate the expiration and not before values in the token ClockSkew = TimeSpan.FromMinutes(5) //5 minute tolerance for the expiration date }; }); }