Example #1
0
        public static CoreConfigurer AddFreeSecurSwagger(this CoreConfigurer coreConfigurer)
        {
            var services = coreConfigurer.Services;

            services.AddSwaggerGen(options =>
            {
                options.AddSecurityDefinition("Bearer", new Microsoft.OpenApi.Models.OpenApiSecurityScheme
                {
                    Name   = "Authorization",
                    In     = ParameterLocation.Header,
                    Type   = Microsoft.OpenApi.Models.SecuritySchemeType.ApiKey,
                    Scheme = "Bearer"
                });

                options.AddSecurityRequirement(new OpenApiSecurityRequirement
                {
                    {
                        new OpenApiSecurityScheme
                        {
                            Reference = new OpenApiReference
                            {
                                Type = ReferenceType.SecurityScheme,
                                Id   = "Bearer"
                            },
                            Scheme = "oauth2",
                            Name   = "Bearer",
                            In     = ParameterLocation.Header,
                        },
                        new List <string>()
                    }
                });
            });

            return(coreConfigurer);
        }
Example #2
0
        public static CoreConfigurer AddFreeSecurLogic(
            this CoreConfigurer fsCoreConfigurer)
        {
            fsCoreConfigurer.Services.AddTransient <AccountManagementService>();
            fsCoreConfigurer.Services.AddTransient <AccessManagementService>();
            fsCoreConfigurer.Services.AddTransient <VaultCreationService>();
            fsCoreConfigurer.Services.AddTransient <VaultInformationService>();
            fsCoreConfigurer.Services.AddTransient <VaultItemService>();
            fsCoreConfigurer.Services.AddTransient <IVerificationService, VerificationService>();

            return(fsCoreConfigurer);
        }
Example #3
0
        public static CoreConfigurer AddFreeSecurDomain(
            this CoreConfigurer fsCoreConfigurer)
        {
            var settingsSection = fsCoreConfigurer.Configuration.GetSection(nameof(FsDomainSettings));
            var settings        = settingsSection.Get <FsDomainSettings>();

            fsCoreConfigurer.Services.AddDbContext <FsDbContext>(options => {
                options.UseSqlServer(settings.ConnectionString);
            });

            fsCoreConfigurer.Services.AddTransient <IFsEntityRepository, FsEntityRepository>();

            return(fsCoreConfigurer);
        }
        public static CoreConfigurer AddFreeSecurAuthentication(this CoreConfigurer fsCoreConfigurer)
        {
            var configuration = fsCoreConfigurer.Configuration;
            var services      = fsCoreConfigurer.Services;

            var jwtSettingsSection = configuration
                                     .GetSection(nameof(FsJwtAuthentication));

            var jwtAuthenticationSettings = jwtSettingsSection
                                            .Get <FsJwtAuthentication>();

            services.Configure <FsJwtAuthentication>(jwtSettingsSection);

            services
            .AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
            .AddJwtBearer(options =>
            {
                options.RequireHttpsMetadata      = true;
                options.SaveToken                 = true;
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer           = true,
                    ValidateAudience         = true,
                    ValidateLifetime         = true,
                    ValidateIssuerSigningKey = true,
                    ValidIssuer      = jwtAuthenticationSettings.Issuer,
                    ValidAudience    = jwtAuthenticationSettings.Audience,
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtAuthenticationSettings.SecretKey)),
                    ClockSkew        = TimeSpan.Zero
                };
            });

            services.AddScoped <AuthenticationService>();
            services.AddScoped <IAuthenticationService>(serviceProvider => serviceProvider.GetRequiredService <AuthenticationService>());

            return(fsCoreConfigurer);
        }