静默更新后未请求 IdentityServer 用户信息端点
IdentityServer userinfo endpoint not requested after silent renew
我们目前面临的问题是静默更新将在大约 30 分钟后不起作用。我们能够确定 IS4 上缺少 SubjectId。
在 chrome 中查看客户端请求的网络选项卡时,可以看到以下顺序:
- 身份验证请求
- 静默续订请求
- 用户信息请求
network requests
在下一个身份验证请求之前缺少第三步,我猜是因为 SubjectId。
我们的访问令牌生命周期为 1 小时,身份令牌生命周期为 5 分钟。出于测试目的,我们将静默更新设置为每 4 分钟触发一次。
我们将 oidc-client-js@1.4.1 与 redux-oidc 库结合使用。
我们在客户端/服务器端的配置中是否忘记了什么?
非常感谢。
我认为您必须监听 UserLoaded 事件,因此您将在静默刷新请求后加载新用户
this._userManager.events.addUserLoaded(args => {
this._userManager.getUser().then(user => {
this._user = user;
});
});
每次静默刷新调用后都会调用 getUser 以获取新用户
问题不在客户端。用户的 cookie 在后端过期。
link to github with solution by the creator
我们目前面临的问题是静默更新将在大约 30 分钟后不起作用。我们能够确定 IS4 上缺少 SubjectId。
在 chrome 中查看客户端请求的网络选项卡时,可以看到以下顺序:
- 身份验证请求
- 静默续订请求
- 用户信息请求
network requests
在下一个身份验证请求之前缺少第三步,我猜是因为 SubjectId。
我们的访问令牌生命周期为 1 小时,身份令牌生命周期为 5 分钟。出于测试目的,我们将静默更新设置为每 4 分钟触发一次。 我们将 oidc-client-js@1.4.1 与 redux-oidc 库结合使用。
我们在客户端/服务器端的配置中是否忘记了什么?
非常感谢。
我认为您必须监听 UserLoaded 事件,因此您将在静默刷新请求后加载新用户
this._userManager.events.addUserLoaded(args => {
this._userManager.getUser().then(user => {
this._user = user;
});
});
每次静默刷新调用后都会调用 getUser 以获取新用户
问题不在客户端。用户的 cookie 在后端过期。
link to github with solution by the creator