Identity Server 4 刷新令牌过期不起作用

Identity Server 4 Refresh Token Expiration Not Working

我在 Identity Server 4 身份验证服务器中创建了一个客户端并设置了以下令牌属性:

 var idsClient = new Client
                {
                    ClientName = parsedResult.Name,
                    ClientId = parsedResult.ClientId,
                    RequireConsent = false,
                    RequirePkce = false,
                    AllowOfflineAccess = true,
                    AllowAccessTokensViaBrowser = true,
                    RefreshTokenUsage = TokenUsage.OneTimeOnly,
                    RefreshTokenExpiration = TokenExpiration.Sliding,
                    AccessTokenLifetime = 7200, //2 hours
                    AbsoluteRefreshTokenLifetime = 2592000, //30 days
                    SlidingRefreshTokenLifetime = 1296000 //15 days
                };

当我请求访问令牌时,它的到期时间设置为 2 小时,并返回刷新令牌值。当我请求刷新令牌时,过期时间仍设置为 2 小时而不是 15 天。

以下是令牌和刷新令牌请求的选择:

您没有请求刷新令牌,但是您使用刷新令牌来请求访问令牌.

由于您配置了 TokenUsage.OneTimeOnly,每个成功的响应将 return 两个标记:

  • 访问令牌
  • 刷新令牌

我不确定您希望将哪个令牌设置为 15 天,但在本例中,访问令牌的生命周期应始终为两个小时。