我正在使用授权代码流来登录 UI 用户,并使用客户端凭据来登录 API 客户端。 对于 UI 用户来说,AccessToken 的生命周期应该是几分钟,而对于 API 客户端来说,AccessToken 的生命周期应该是几个小时。
我正在使用 SetAccessTokenLifetime 方法
services.AddOpenIddictCoreWithEntityFramework()
.AddServer(options =>
{
options.SetAccessTokenLifetime(TimeSpan.FromMinutes(accessTokenLifetimeInMinutes));
options.SetRefreshTokenLifetime(TimeSpan.FromMinutes(refreshTokenLifetimeInMinutes));
}
如何为UI用户和API客户端指定不同的AccessTokenLifetime?
没有任何软件包可以帮助
只需使用
var clientCredentialsClaimsPrincipal = new ClaimsPrincipal(clientCredentialsIdentity);
clientCredentialsClaimsPrincipal.SetAccessTokenLifetime()
在创建 clientCredentials 流登录的声明主体的令牌端点中