Esempio n. 1
0
        // 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);

            string xmlFile       = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
            string baseDirectory = AppContext.BaseDirectory;

            services.AddSwagger(APIClient, InnerSaceAPI, Path.Combine(baseDirectory, xmlFile));
            StartupIOC startup = new StartupIOC(Configuration, ProjectType.API);

            services = startup.ConfigureServices(services);
            services.AddCors();

            services.AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme)

            .AddIdentityServerAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme, options =>
            {
                options.RequireHttpsMetadata = false;
                options.ApiName         = InnerSaceAPI.Name;
                options.Authority       = APIClient.IdpUrl;
                options.ClaimsIssuer    = APIClient.IdpUrl;
                options.SupportedTokens = SupportedTokens.Jwt;
            });
            services.AddAuthorization(options =>
            {
                options.AddPolicy("AdminOnly", policy => policy.RequireClaim("role", "admin"));
                options.AddPolicy("FieldEngineerOnly", policy => policy.RequireClaim("role", "fieldEngineer"));
                options.AddPolicy("CustomerOnly", policy => policy.RequireClaim("role", "customer"));
                options.AddPolicy("AuditorOnly", policy => policy.RequireClaim("role", "auditor"));
                options.AddPolicy("CustomerOrFieldEngineerOnly", policy => policy.RequireClaim("role", "fieldEngineer", "customer"));
            });
        }
Esempio n. 2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            StartupIOC.ConfigureServices(services, Configuration);

            services.AddMvc(options => options.Filters.Add <NotificationFilter>())
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info {
                    Title = "OnboardingSIGDB1-API", Version = "version 1"
                });
            });

            services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy", builder =>
                {
                    builder
                    .AllowAnyOrigin()
                    .AllowAnyHeader()
                    .AllowAnyMethod()
                    .AllowCredentials();
                });
            });
        }
        public static void SetUpTests()
        {
            IServiceCollection services = new ServiceCollection();
            StartupIOC         target   = new StartupIOC();

            target.ConfigureServices(services);
            ServiceProvider = services.BuildServiceProvider();
        }