identityserver4 - Identity Server 4 Access Token Lifetime 将在其生命周期之后到期
问题描述
我已经为测试设置了访问和刷新令牌的生命周期。现在,我想知道为什么访问令牌没有遵循其生命周期并且在刷新令牌生命周期之前仍然有效?我不确定我是否设置正确,但这是我配置令牌生命周期的方式:
var accessTokenLifetime = 300;
var absoluteRefreshTokenLifetime = 600;
resultClient = new Client
{
AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,
AllowOfflineAccess = true,
IdentityTokenLifetime = accessTokenLifetime,
AccessTokenLifetime = accessTokenLifetime,
UpdateAccessTokenClaimsOnRefresh = true,
RefreshTokenUsage = TokenUsage.OneTimeOnly,
RefreshTokenExpiration = TokenExpiration.Absolute,
AbsoluteRefreshTokenLifetime = absoluteRefreshTokenLifetime
};
注意:我删除了那里的一些属性。
有什么想法吗?
解决方案
客户端默认包含 5 分钟的 ClockSkew,以支持不同服务中的时钟不同的情况。
您可以在客户端应用程序的 Startup.ConfigureServices 中设置它,例如接受 1 分钟偏差的示例。如果您愿意,也可以将其设置为零。
.AddMyJwtBearer(options =>
{
options.TokenValidationParameters.ClockSkew = TimeSpan.FromMinutes(1);
...
推荐阅读
- extjs - 如何将 DLL 链接到 Extjs 应用程序
- amazon-web-services - Amazon S3 递归删除子文件夹
- javascript - 使用 fetch api 发送获取请求失败
- c++ - 重启基于中断的数据传输(C++、数据缓冲区、硬件外设和中断)
- java - 如何根据 JComboBox 所选项目对 JTable 进行排序
- node.js - HTML5 音频无法使用 Handlebars 模板化 src 属性播放
- c++ - 如何通过引用推送向量?
- f# - 如何从记录转换为元组?
- python-3.x - 如何发送多个收件人 sendgrid V3 api Python
- python - 检查一对字符串是否是压缩列表的子字符串 - python