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"
    }
}

Я покопался в исходном коде, но, к сожалению, не нашел способа установить эти параметры через конфигурацию.

Другие вопросы по тегам