Skip to content

ESIA authentication provider for ASP.NET Core 3.1

License

Notifications You must be signed in to change notification settings

kmvi/AspNet.Security.OAuth.Esia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Провайдер аутентификации ЕСИА для ASP.NET Core 3.1

Установка

Установите пакет AspNetCore.Security.OAuth.Esia

Использование

В Startup.cs включаем аутентификацию и задаем параметры:

public void ConfigureServices(IServiceCollection services)
{
    // ...
    
    services.AddAuthentication().AddEsia(options =>
    {
        options.ClientId = "xxxxxxxxx"; // идентификатор системы-клиента, обязателен
        options.ClientCertificateProvider = () => new X509Certificate2(...); // сертификат системы-клиента, обязателен
        
        // по умолчанию используются боевые адреса ЕСИА, можно поменять на тестовые:
        // options.AuthorizationEndpoint = EsiaConstants.TestAuthorizationUrl;
        // options.TokenEndpoint = EsiaConstants.TestAccessTokenUrl;
        // options.UserInformationEndpoint = EsiaConstants.TestUserInformationUrl;
        
        // получение контактных данных пользователя (почта, телефон), по умолчанию отключено
        // options.FetchContactInfo = true;
        
        // options.CorrelationCookie.SameSite = Microsoft.AspNetCore.Http.SameSiteMode.Unspecified;
        // options.SaveTokens = true;
    });
    
    // ...
}