最近,我用openid connect编写了一个身份提供程序。我已经公开了端点令牌和oauth流。
我知道在SPA的情况下,我们无法提供刷新令牌来撤销任一令牌。所以我要做的是,当我的访问令牌过期时,我总是调用IDP服务器并刷新我的令牌,但是我面临的问题是身份验证没有在后台静默放置,有时会出现一个闪屏,而我的回调URL却被称为我在哪里再次保存令牌。
那么我有什么办法可以在用户不知情的情况下撤销访问令牌。
一种方法是在我的令牌过期后调用身份提供者,并在后台刷新我的令牌,但是如果用户同时尝试使用旧的api调用api,他仍然会收到401。
答案 0 :(得分:0)
对于SPA,最主流的解决方案是使用oidc-client库为您执行令牌更新-我想这就是您的要求?
最简单的撤销解决方案是使用短暂的令牌-常见60分钟
这取决于您的授权服务器,但是一个很好的起点是了解quick = none参数-我的SPA撰写内容可能会有所帮助: https://authguidance.com/2017/10/24/user-sessions-and-token-renewal/
一些