我对oAuth2服务有一个相当标准的需求,它允许客户端请求offline_access令牌,并在刷新令牌过期时将其交换为访问令牌。
尽管这看起来根本不起作用。我的客户正在集成到Zapier中。zapier客户端能够很好地进行身份验证。然而,一个小时后,令牌似乎已经过期,但客户端仍无法检索新的令牌,无论是什么原因。
下面显示了我的持久化授权表,显示(我认为)刷新令牌已被访问或创建,尽管过期时间似乎早于创建时间??:

我的客户看起来是这样的-提取的细节如下:

Identityserver4日志中的另一项内容如下:

我不知道为什么会这样?
更新
Zapier肯定会进行更新:

发布于 2020-08-20 14:47:36
您不能假定访问令牌的刷新是自动为您处理的。
根据客户端实现的不同,您可能需要手动刷新令牌,有时会自动处理。
调整令牌的生存期由您决定,您可以通过设置以下值来配置它们:
public int IdentityTokenLifetime { get; set; } = 300; //5 minutes
public int AccessTokenLifetime { get; set; } = 3600; //1 hour
public int AuthorizationCodeLifetime { get; set; } = 300; //5 minutes
public int AbsoluteRefreshTokenLifetime { get; set; } = 2592000; //30 days
public int SlidingRefreshTokenLifetime { get; set; } = 1296000; //15 days然而,在便利性和安全性之间总是有一个权衡。拥有一个生命周期较长的访问令牌可能是一个安全问题。也许可以将其限制为一周或两周,然后让用户再次登录?
https://stackoverflow.com/questions/63496308
复制相似问题