在Keycloak中发出刷新令牌后,角色被吊销时,刷新刷新访问令牌存在问题。
假设我有一个 jdoe 用户,该用户具有从 reporting 客户端分配的 view-reports 客户端角色。
复制步骤:
结果:返回以下错误,而不是接收角色受限的新访问令牌:
{
"error":"invalid_scope",
"error_description":"User no long has permission for client role view-reports"
}
发生的事情是,在返回刷新的访问令牌之前,keycloak将新创建的访问令牌中的角色与刷新令牌中的角色进行比较。当新创建的令牌中不存在刷新令牌中存在的至少一个领域/客户端角色时,将引发invalid_scope错误(可以在此处找到相应的代码:https://github.com/keycloak/keycloak/blob/master/services/src/main/java/org/keycloak/protocol/oidc/TokenManager.java#L590)
我的问题是-这项检查真的必要吗?
刷新令牌是否应该完全包含任何访问信息(realm_access / resource_access)?
这不是可配置的吗?