Я использую OpenID Connect Identity Server 3 для создания Гибридного клиента , который будет иметь долговременный доступ (разрешение пользователям оставаться в системе в течение 5 лет без необходимости вводить свои учетные данные)
Я определил клиент хранилища конфигурации In-Memory следующим образом:
new Client
{
Enabled = true,
ClientId = MyClientApp.Id,
ClientUri = MyClientApp.Uri,
ClientName = MyClientApp.Name,
Flow = Flows.Hybrid,
AllowAccessToAllScopes = true,
IdentityTokenLifetime = 300,
AccessTokenLifetime = 3600,
RefreshTokenExpiration = TokenExpiration.Absolute,
AbsoluteRefreshTokenLifetime = (int)TimeSpan.FromDays(1825).TotalSeconds,
RefreshTokenUsage = TokenUsage.OneTimeOnly,
UpdateAccessTokenClaimsOnRefresh = true,
RequireConsent = false,
RedirectUris = new List<string>
{
MyClientApp.Uri
},
PostLogoutRedirectUris = new List<string>
{
MyClientApp.Uri
},
ClientSecrets = new List<Secret>
{
new Secret(MyClientApp.Secret.Sha256())
}
},
Где:
MyClientApp.Id = test.client
MyClientApp.Uri = https://testclient.trx.com
MyClientApp.Name = My Test Client
Срок действия токена истекает через 3600 секунд (1 час)
Срок действия Identity Token истекает через 300 секунд (5 минут),
Срок действия Refresh Token (Absolute) истекает через 5 лет
Это правильный способ определения Клиента, который отвечает моим требованиям?
Requirements:
User Signs in (authenticates) one time
User will remain signed in without the session expiring in 5 years
User will need to enter their credentials again after 5 years
Буду признателен за любую помощь
Спасибо