我正在使用Keycloak来保护我的React前端和node.js后端。这些客户端使用基于角色的授权来保护。
我的前端应用程序在Keycloak中注册为公共客户端,而后端注册为仅承载客户端。当用户登录到前端时,我正在获取该特定用户的访问令牌,并且正在使用该访问令牌来调用后端api层。
[当用户从前端注销时,我正在使用keycloak对象注销方法从Keycloak清除该特定用户的前端客户端会话。一切正常,用户正在注销并重定向到Keycloak登录页面。
但是问题是我仍然可以使用该注销用户的访问令牌来调用后端api。即使用户注销,访问令牌仍然有效。
我试图通过此端点撤消用户访问令牌。但是没用/ auth / admin / realms // users /
是否有办法撤销Keycloak中特定用户的访问令牌?
我认为您只能撤销会话,而不能发出访问令牌。因此,唯一的解决方案是选择一个非常短的访问令牌寿命与静默刷新结合使用,因此可用性仍然良好,会话撤销后的最大访问时间等于或小于令牌寿命。