Class AuthorizationService
Сервис управления авторизацией: вход, выход, обновление и автопродление токена.
public sealed class AuthorizationService : ITokenRefresher, IAsyncDisposable
- Inheritance
-
AuthorizationService
- Implements
- Inherited Members
Constructors
AuthorizationService(ITokenStorage, IOptions<PolynomApiClientOptions>, ILoginApiClientFactory, IHttpClientFactory, TimeProvider?, ILogger<AuthorizationService>?)
Инициализирует сервис авторизации.
public AuthorizationService(ITokenStorage tokenStorage, IOptions<PolynomApiClientOptions> options, ILoginApiClientFactory loginClientFactory, IHttpClientFactory httpClientFactory, TimeProvider? timeProvider = null, ILogger<AuthorizationService>? logger = null)
Parameters
tokenStorageITokenStorageХранилище токенов.
optionsIOptions<PolynomApiClientOptions>Параметры клиента.
loginClientFactoryILoginApiClientFactoryФабрика клиента входа.
httpClientFactoryIHttpClientFactoryФабрика HTTP-клиентов.
timeProviderTimeProviderИсточник времени.
loggerILogger<AuthorizationService>Логгер.
Properties
IsAuthenticated
Признак активной авторизации.
public bool IsAuthenticated { get; }
Property Value
Methods
DisposeAsync()
public ValueTask DisposeAsync()
Returns
SetSsoUrl(string?)
Задаёт адрес сервера SSO для выхода из единой сессии.
public void SetSsoUrl(string? url)
Parameters
urlstringАдрес сервера SSO.
SignInAsync(ISignInRequest, CancellationToken)
Выполняет вход по имени пользователя и паролю.
public Task<IAuthResponse?> SignInAsync(ISignInRequest request, CancellationToken cancellationToken = default)
Parameters
requestISignInRequestПараметры входа.
cancellationTokenCancellationTokenТокен отмены.
Returns
- Task<IAuthResponse>
Ответ авторизации.
SignInByAccessTokenAsync(string, ISignInRequest, bool, CancellationToken)
Выполняет вход по имеющемуся access-токену.
public Task<IAuthResponse?> SignInByAccessTokenAsync(string accessToken, ISignInRequest request, bool tokenFromSso = false, CancellationToken cancellationToken = default)
Parameters
accessTokenstringAccess-токен, с которым выполняется вход.
requestISignInRequestТело запроса на вход.
tokenFromSsoboolПризнак, что токен получен из SSO.
cancellationTokenCancellationTokenТокен отмены.
Returns
- Task<IAuthResponse>
Ответ авторизации.
SignInBySystemAsync(ISignInBySystemRequest, CancellationToken)
Выполняет системный вход.
public Task<IAuthResponse?> SignInBySystemAsync(ISignInBySystemRequest request, CancellationToken cancellationToken = default)
Parameters
requestISignInBySystemRequestПараметры входа.
cancellationTokenCancellationTokenТокен отмены.
Returns
- Task<IAuthResponse>
Ответ авторизации.
SignOutAsync(CancellationToken)
Закрывает сессию и (при наличии) сессию SSO.
public Task<bool> SignOutAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationTokenТокен отмены.
Returns
SignOutSsoAsync(CancellationToken)
Закрывает сессию в системе единой авторизации.
public Task SignOutSsoAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationTokenТокен отмены.
Returns
UpdateTokenAsync(CancellationToken)
Обновляет токен доступа, используя токен обновления.
public Task<bool> UpdateTokenAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationTokenТокен отмены.
Returns
Events
AuthenticationStateChanged
Событие изменения состояния авторизации.
public event EventHandler<bool>? AuthenticationStateChanged
Event Type
SignedOut
Событие завершения выхода из системы.
public event EventHandler? SignedOut