public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddSingleton <IConfiguration>(Configuration); services.AddIdentity <User, Role>() .AddEntityFrameworkStores <OdContext>() .AddDefaultTokenProviders(); services.AddScoped <RoleManager <Role> >(); var authConfig = Configuration.GetSection("Authentication").Get <AuthenticationConfig>(); services.AddAuthentication(v => { //v.DefaultAuthenticateScheme = GoogleDefaults.AuthenticationScheme; //v.DefaultChallengeScheme = GoogleDefaults.AuthenticationScheme; }) .AddGoogle(options => { options.ClientId = authConfig.Google.ClientId; options.ClientSecret = authConfig.Google.ClientSecret; }) .AddVkontakte(options => { options.ClientId = authConfig.Vk.ClientId; options.ClientSecret = authConfig.Vk.ClientSecret; }) .AddJwtBearer(options => { options.RequireHttpsMetadata = false; options.TokenValidationParameters = new TokenValidationParameters { // укзывает, будет ли валидироваться издатель при валидации токена ValidateIssuer = true, // строка, представляющая издателя ValidIssuer = AuthOptions.ISSUER, // будет ли валидироваться потребитель токена ValidateAudience = true, // установка потребителя токена ValidAudience = AuthOptions.AUDIENCE, // будет ли валидироваться время существования ValidateLifetime = true, // установка ключа безопасности IssuerSigningKey = AuthOptions.GetSymmetricSecurityKey(), // валидация ключа безопасности ValidateIssuerSigningKey = true, }; }); DiMapper.Map(services); }
private static void InitializeDiContainer() { var kernel = new StandardKernel(); kernel.Bind <IDiContainer>().To <DiContainer>().InSingletonScope(); var mapper = new DiMapper(); DiContainer = kernel.Get <IDiContainer>(); mapper.Map(DiContainer); }