ASP.NET Core 3 React SPA-шаблон - Установить AccessTokenLifetime
Я использую последний шаблон SPA .NET Core 3, и мне интересно, есть ли способ установить "AccessTokenLifetime" для клиента, где, очевидно, этот клиент - мой SPA.
Я искал здесь https://github.com/aspnet/AspNetCore.Docs/blob/master/aspnetcore/security/authentication/identity-api-authorization.md#application-profiles и я попробовал несколько разных вещи.
Но не похоже, что есть способ установить свойства клиента, кроме тех, которые подробно описаны на странице выше, например, RedirectUri, LogoutUri
0 ответов
После небольшой охоты я обнаружил, что вы можете сделать это во время звонка AddApiAuthorization<ApplicationUser, ApplicationDbContext>();
в Startup
Замените на:
services.AddIdentityServer()
.AddApiAuthorization<ApplicationUser, ApplicationDbContext>(opt =>
{
foreach (var c in opt.Clients)
c.AccessTokenLifetime = 120; // Expiration in Seconds
});
Здесь можно настроить все параметры токена для Identity Server.
Обратите внимание, что коллекция Clients
определяется вашей конфигурацией. В случае базовогоdotnet net react -o <name> -au Individual
шаблон, следующее находится в appSettings.json
используя название проекта (-o
вариант для dotnet
команда):
"IdentityServer": {
"Clients": {
"ReactAppIdentity": {
"Profile": "IdentityServerSPA"
}
}
Я покопался в исходном коде, но, к сожалению, не нашел способа установить эти параметры через конфигурацию.