生成令牌时忽略无效的作用域

问题描述

我们正在将Keycloak设置从6.0.1升级到11.0.0,并且似乎从Keycloak 10开始,如果scope参数无效,令牌生成会抱怨“无效范围”错误。

最初,我们将Keycloak 3与RBAC(分配给用户和角色)和完整范围的客户端(仅Direct Access Grants Enabled = true)一起使用,这在我们在范围内传递所需角色并用于获取访问权限时可以正常工作请求角色的令牌(在作用域中),后来我们将其更新为Keycloak 6,该令牌在此设置下也可以正常工作,但是将其更新为Keycloak 11会破坏它,因为我们不使用细粒度的作用域,因此将现有角色传递给作用域排序of破坏了它,但是,如果我不提供任何作用域,它就可以正常工作。

我的设置如下所示

角色:

  • 角色1
  • 角色2
  • 角色3

用户:

  • User1
  • User2

用户角色映射

  • 角色1,角色2->用户1
  • 角色3->用户2

客户

  • Client1 AccessType:机密 直接访问授权:已启用 范围:全范围

生成的令牌

{
  "exp": 1598869296,"iat": 1598867496,"jti": "b5cd4395-1ba2-471b-9e3f-86fa7c699d72","iss": "http://localhost:8480/auth/realms/EDP","aud": "account","sub": "2efa51cd-1afb-4f18-83c4-12e4017739b5","typ": "Bearer","azp": "service","session_state": "a4925385-b787-4ae7-a076-a4b92b5df87c","acr": "1","realm_access": {
    "roles": [
      "Rol1","offline_access","uma_authorization","Rol2"
    ]
  },"resource_access": {
    "account": {
      "roles": [
        "manage-account","manage-account-links","view-profile"
      ]
    }
  },"scope": "default roles","unique_name": "User1","preferred_username": "User1","tid": "Foo"
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...