为我们的 SPA 使用身份服务器 4 和 oidc-client。我希望实现一种半自动刷新令牌,因此当用户空闲时,令牌不会自动刷新。我希望在用户管理器中的“addAccessTokenExpiring”事件中触发“X 分钟警告”消息,用户可以在其中选择继续,它将刷新令牌,否则它将在“addAccessTokenExpired”事件中注销它们.
我想我已经解决了所有问题(至少在我的脑海中)并且 oidc-client 似乎正在触发所有正确的事情,但我无法解决的是如何设置到期计时器和过期计时器 - 它似乎总是一分钟的差异,但我想将其设置为过期前 2 或 3 分钟(例如)。
我可以看到身份服务器客户端类在哪里具有“AccessTokenLifeTime”,因此我可以设置过期时间,该时间被拉到某处并在 oidc-client 中使用,但我不知道如何设置“过期”时间. 您可以在控制台记录器中看到两个不同的计时器,例如
Timer.callback; Access token expiring timer expires in: 3530
Timer.callback; Access token expired timer expires in: 3591
任何帮助将不胜感激 - oidc 的东西对我来说是一种奇怪的魔法,我想我几乎不明白它是如何工作的。
谢谢。
更新:doh,正如我发布的那样,我刚刚看到可以在 UserManagerSettings 对象中设置的“accessTokenExpiringNotificationTime”。但是由于在服务器上设置了过期超时(因为它正在管理我可以看到的其他一些事情),我想看看是否有一个等价的过期,所以这些值被保存在同一个地方而不是服务器上的一个还有一个在客户端,所以问题仍然存在(大部分)