public void ConfigureServices(IServiceCollection services) { services.Configure <StorageContextOptions>(options => { options.ConnectionString = this.configuration.GetConnectionString("Default"); options.MigrationsAssembly = typeof(DesignTimeStorageContextFactory).GetTypeInfo().Assembly.FullName; } ); services.Configure <MasterDataSettings>(options => { options.Endpoint = this.configuration.GetSection("DanLiris").GetValue <string>("MasterDataEndpoint"); options.TokenEndpoint = this.configuration.GetSection("DanLiris").GetValue <string>("TokenEndpoint"); }); services.AddExtCore(this.extensionsPath, includingSubpaths: true); services.AddMediatR(); DesignTimeStorageContextFactory.Initialize(services.BuildServiceProvider()); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info { Title = "Weaving API", Version = "v1" }); }); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddExtCore(ExtensionsPath, Configuration["Extensions:IncludingSubpaths"].ToLower() == true.ToString()); services.Configure <StorageContextOptions>(options => { options.ConnectionString = Configuration.GetConnectionString("Default"); options.MigrationsAssembly = typeof(DesignTimeStorageContextFactory).GetTypeInfo().Assembly.FullName; }); services.Configure <FormOptions>(options => { options.MultipartBodyLengthLimit = 1474560000; }); services.AddMvc() .SetCompatibilityVersion(CompatibilityVersion.Version_2_1) .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver()); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddSingleton <IActionContextAccessor, ActionContextAccessor>(); services.AddSingleton <IConfiguration>(Configuration); services.AddSingleton <IUrlHelper>(x => { var actionContext = x.GetRequiredService <IActionContextAccessor>().ActionContext; var factory = x.GetRequiredService <IUrlHelperFactory>(); return(factory.GetUrlHelper(actionContext)); }); var sp = services.BuildServiceProvider(); DesignTimeStorageContextFactory.Initialize(sp); DesignTimeStorageContextFactory.StorageContext.Database.Migrate(); // Import games from older version ImportInitialGames(sp); }
public void Execute(IServiceCollection serviceCollection, IServiceProvider serviceProvider) { var storage = serviceProvider.GetService <IOptions <StorageContextOptions> >(); DesignTimeStorageContextFactory.Initialize(serviceCollection.BuildServiceProvider()); serviceCollection.AddScoped(typeof(IStorageContext), typeof(ApplicationDbContext)); serviceCollection.AddDbContextPool <ApplicationDbContext>(options => options.UseNpgsql(storage.Value.ConnectionString, b => b.MigrationsAssembly(storage?.Value?.MigrationsAssembly ?? typeof(DesignTimeStorageContextFactory).GetTypeInfo().Assembly.FullName))); serviceCollection.AddIdentity <ApplicationUser, ApplicationRole>() .AddEntityFrameworkStores <ApplicationDbContext>() .AddDefaultTokenProviders(); }
public void ConfigureServices(IServiceCollection services) { services.AddExtCore(this._extensionsPath); services.Configure <StorageContextOptions>(options => { options.ConnectionString = this._configuration.GetConnectionString("Default"); options.MigrationsAssembly = typeof(DesignTimeStorageContextFactory).GetTypeInfo().Assembly.FullName; } ); DesignTimeStorageContextFactory.Initialize(services.BuildServiceProvider()); }
public void ConfigureServices(IServiceCollection services) { services.AddExtCore(this._extensionsPath); //JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); services.AddAuthentication(options => { options.DefaultScheme = "Cookies"; options.DefaultChallengeScheme = "oidc"; }) .AddCookie("Cookies") .AddOpenIdConnect("oidc", options => { options.Authority = "http://localhost:5000"; options.RequireHttpsMetadata = false; options.ClientId = "ework-admin-dev"; options.RequireHttpsMetadata = false; options.ClientSecret = "secret"; options.ResponseType = "code id_token"; options.SaveTokens = true; options.GetClaimsFromUserInfoEndpoint = true; options.Scope.Add("ework"); options.Scope.Add("offline_access"); options.ClaimActions.MapJsonKey("website", "website"); }); services.Configure <StorageContextOptions>(options => { options.ConnectionString = this._configuration.GetConnectionString("SQlServer"); options.MigrationsAssembly = typeof(DesignTimeStorageContextFactory).GetTypeInfo().Assembly.FullName; } ); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info { Title = "My API", Version = "v1" }); }); DesignTimeStorageContextFactory.Initialize(services.BuildServiceProvider()); }
public void Execute(IServiceCollection serviceCollection, IServiceProvider serviceProvider) { var storage = serviceProvider.GetService <IOptions <StorageContextOptions> >(); DesignTimeStorageContextFactory.Initialize(serviceCollection.BuildServiceProvider()); serviceCollection.AddScoped(typeof(IStorageContext), typeof(ApplicationDbContext)); serviceCollection.AddDbContextPool <ApplicationDbContext>(options => { options.UseSqlServer(storage.Value.ConnectionString, b => { b.EnableRetryOnFailure(5, TimeSpan.FromSeconds(10), null); b.MigrationsAssembly(storage?.Value?.MigrationsAssembly ?? typeof(DesignTimeStorageContextFactory).GetTypeInfo().Assembly.FullName); }); }); serviceCollection.AddIdentity <ApplicationUser, ApplicationRole>() .AddEntityFrameworkStores <ApplicationDbContext>() .AddDefaultTokenProviders(); }
// 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) { IConfigurationBuilder configurationBuilder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath + "/../Benriya.App") .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); services.AddMapper(); services.AddScoped <IRequestServices, RequestServices>(); services.AddExtCore(extensionsPath, Configuration["Extensions:IncludingSubpaths"] == true.ToString()); //services.AddDbContext<ApplicationDbContext>(options => // options.UseNpgsql(configurationBuilder.Build().GetConnectionString("Default"))); var db_conector = configurationBuilder.Build().GetConnectionString("Default"); //services.Configure<StorageContextOptions>(options => //{ // options.ConnectionString = conect; // options.MigrationsAssembly = Assembly.GetExecutingAssembly().FullName; //}); services.AddScoped <IUserServices, UserServices>(); services.AddSingleton <IRequestServices, RequestServices>(); services.AddControllersWithViews(); services.AddDbContext <ApplicationDbContext>(options => { if (this.env.IsDevelopment()) { options.EnableSensitiveDataLogging(); } //options.UseLazyLoadingProxies(false); options.UseNpgsql(db_conector, (m) => { m.MigrationsAssembly(Assembly.GetExecutingAssembly().FullName); }); //(typeof(ApplicationDbContext).Assembly.FullName); }); // ("Benriya.Data.Migrator"); }); }); services.AddScoped(typeof(IStorageContext), typeof(ApplicationDbContext)); #pragma warning disable ASP0000 // Do not call 'IServiceCollection.BuildServiceProvider' in 'ConfigureServices' DesignTimeStorageContextFactory.Initialize(services.BuildServiceProvider()); #pragma warning restore ASP0000 // Do not call 'IServiceCollection.BuildServiceProvider' in 'ConfigureServices' }
public void ConfigureServices(IServiceCollection services) { services.AddExtCore(this._extensionsPath); //JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); services.AddAuthentication(options => { options.DefaultScheme = "Cookies"; options.DefaultChallengeScheme = "oidc"; }) .AddCookie("Cookies") .AddOpenIdConnect("oidc", options => { options.Authority = "http://localhost:5000"; options.RequireHttpsMetadata = false; options.ClientId = "ework-admin-dev"; options.ClientSecret = "secret"; options.ResponseType = "code id_token"; options.SaveTokens = true; options.GetClaimsFromUserInfoEndpoint = true; options.Scope.Add("ework"); options.Scope.Add("offline_access"); options.ClaimActions.MapJsonKey("FullName", "FullName"); options.ClaimActions.MapJsonKey("EmployeeId", "EmployeeId"); }) .AddIdentityServerAuthentication(options => { options.Authority = _configuration.GetValue <string>("IdentityServerAuthorizeUrl"); options.RequireHttpsMetadata = false; options.ApiSecret = "secret"; options.ApiName = "ework"; }); services.Configure <StorageContextOptions>(options => { options.ConnectionString = this._configuration.GetConnectionString("Default"); options.MigrationsAssembly = typeof(DesignTimeStorageContextFactory).GetTypeInfo().Assembly.FullName; } ); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info { Title = "My API", Version = "v1" }); c.AddSecurityDefinition("oauth2", new Swashbuckle.AspNetCore.Swagger.OAuth2Scheme { Flow = "implicit", AuthorizationUrl = "http://localhost:5000/connect/authorize", Scopes = new Dictionary <string, string> { { "ework", "MoonlayEwork API" } } }); c.OperationFilter <Backend.WebApp.Swaggers.AuthorizeCheckOperationFilter>(); }); DesignTimeStorageContextFactory.Initialize(services.BuildServiceProvider()); }
public void ConfigureServices(IServiceCollection services) { RegisterMasterDataSettings(); RegisterPurchasingDataSettings(); RegisterSalesDataSettings(); services.AddScoped <IIdentityService, IdentityService>(); services.AddSingleton <IMemoryCacheManager, MemoryCacheManager>() .AddSingleton <ICoreClient, CoreClient>() .AddSingleton <IPurchasingClient, PurchasingClient>() .AddSingleton <IHttpClientService, HttpClientService>(); //services.Configure<MasterDataSettings>(options => //{ // options.Endpoint = this.configuration.GetSection("DanLirisSettings").GetValue<string>("MasterDataEndpoint"); // options.TokenEndpoint = this.configuration.GetSection("DanLirisSettings").GetValue<string>("TokenEndpoint"); //}); services.AddExtCore(this.extensionsPath, includingSubpaths: true); services.AddMediatR(); #region Authentication string Secret = configuration.GetValue <string>(Constant.SECRET) ?? configuration[Constant.SECRET]; SymmetricSecurityKey Key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(Secret)); services.AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateAudience = false, ValidateIssuer = false, ValidateLifetime = false, IssuerSigningKey = Key }; }); #endregion services.Configure <StorageContextOptions>(options => { options.ConnectionString = this.configuration.GetConnectionString("Default"); options.MigrationsAssembly = typeof(DesignTimeStorageContextFactory).GetTypeInfo().Assembly.FullName; } ); DesignTimeStorageContextFactory.Initialize(services.BuildServiceProvider()); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info { Title = "Garment API", Version = "v1" }); c.AddSecurityDefinition("Bearer", new ApiKeyScheme { In = "header", Description = "Please enter JWT with Bearer into field", Name = "Authorization", Type = "apiKey" }); c.AddSecurityRequirement(new Dictionary <string, IEnumerable <string> > { { "Bearer", Enumerable.Empty <string>() }, }); c.CustomSchemaIds(i => i.FullName); }); #region CORS services.AddCors(options => options.AddPolicy(GARMENT_POLICY, builder => { builder.AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() .WithExposedHeaders(EXPOSED_HEADERS); })); #endregion #region API services .AddAuthorization(); #endregion }