Keycloak KeyClope-在域中创建管理员用户

Keycloak KeyClope-在域中创建管理员用户,keycloak,Keycloak,我如何在KeyClope中的领域中创建管理员用户?我尝试了/bin/add-user.sh-r myrealm-u admin-p 它给了我一个错误: * Error * WFLYDM0065: The user supplied realm name 'myrealm' does not match the realm name discovered from the property file(s) 'ManagementRealm'. Exception in thread "mai

我如何在KeyClope中的领域中创建管理员用户?我尝试了
/bin/add-user.sh-r myrealm-u admin-p
它给了我一个错误:


 * Error *
WFLYDM0065: The user supplied realm name 'myrealm' does not match the realm name discovered from the property file(s) 'ManagementRealm'.

Exception in thread "main" org.jboss.as.domain.management.security.adduser.AddUserFailedException: WFLYDM0065: The user supplied realm name 'myrealm' does not match the realm name discovered from the property file(s) 'ManagementRealm'.
    at org.jboss.as.domain.management.security.adduser.ErrorState.execute(ErrorState.java:72)
    at org.jboss.as.domain.management.security.adduser.AddUser.run(AddUser.java:133)
    at org.jboss.as.domain.management.security.adduser.AddUser.main(AddUser.java:231)
    at org.jboss.modules.Module.run(Module.java:352)
    at org.jboss.modules.Module.run(Module.java:320)
    at org.jboss.modules.Main.main(Main.java:593)
我尝试了
/bin/add-user-keydape.sh-r myrealm-u admin-p
。它要求我重新启动服务器,但我也没有看到用户


如果您知道如何使用python客户端进行创建,那也太好了。

您应该能够使用
add user keydeave
命令进行创建,但是您需要重新启动keydeave服务器来实际添加用户。这是你的电话号码


请看一下这个命令

/bin/add-user.sh -r myrealm -u admin -p <pwd>
如何使用curl命令创建领域

curl -v <Keycloak-Ip-address>:<Port>/auth/admin/realms -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" --data  '{"realm":"Realm-name","id":"Realm-id","enabled":"true"}' -k
curl-v:/auth/admin/realms-H“内容类型:应用程序/json”-H“授权:承载$TOKEN”--数据“{”realm:“realm name”,“id:“realm id”,“enabled:“true”}'-k
  • 在域中创建常规用户:
  • 打开管理控制台并选择您选择的领域(领域选择框位于左上方)
  • 转到
    用户
    (侧栏)->
    添加用户
    (右侧按钮)
  • 填写必填字段,然后按
    save
    按钮
  • 打开
    Credentials
    选项卡并设置密码
  • 打开
    角色映射
    选项卡:
  • 客户角色
    下选择
    领域管理
  • 选择所有可用角色,然后按
    添加所选角色
  • 去http://keycloak/auth/admin/REALM_NAME/console (用创建用户的域名替换REALM\u NAME)并登录
  • 您应该只看到此领域的管理UI

  • 您还可以通过ADMINRESTAPI自动创建用户:

    在您的示例中,我假设您想要创建一个管理新领域的管理员。然后一个管理员形成这个新领域,不同于主(默认)领域

    简单地说,下面是在领域中创建管理员的方法

    1-创建领域
    • Master
      领域,创建一个新领域(
      Myrealm
    • 确保处于该新领域(在主领域下的列表中选择它)
    2-为新创建的领域创建一个
    admin
    角色
    • 在菜单(左侧)的
      Configure
      main title下,选择
      Roles
    • 领域角色
      选项卡中,单击按钮
      添加角色
      ,给它一个名称(
      管理员
      )和一个描述(
      我的领域管理员角色
      ),然后打开组合角色
    • 在新显示的部分(复合角色)中,键入
      客户角色
      字段:领域管理,然后选择它
    • 可用角色
      中选择该选择中的所有可用元素,单击[添加选定的]按钮
    /!\此角色仅可用于此领域,并且仅影响与该领域相关的用户

    3-影响用户的管理员角色
    • 仍然在同一领域中,创建或选择一个您希望它成为管理员的用户
    • 转到其
      角色映射
      选项卡,并将可用角色
      管理员
      发送给分配的角色
    尝试登录
    http://keycloak/auth/admin/REALM_NAME/console
    (将REALM\u NAME替换为创建用户的领域名称)并调整此领域管理员用户的权限(从另一个具有主管理员帐户的浏览器)。例如,新的管理领域用户可以删除角色(这是不正常的),它可以在他们的领域上做许多你不希望它明确做的事情。。。(我猜)


    就这些。

    你创建了名为“我的王国”的王国吗?@ravthiru。是的,我以前以主管理员身份登录并创建了领域myrealm@ravithru。你能告诉我重启服务器的命令吗?我尝试用
    $./jboss-cli.sh--connect命令=:reload重新启动,但没有成功。虽然我在kubernetes上,这可能会使情况复杂化。我们在init脚本中完成了所有设置,该脚本启动key斗篷,创建所需的用户和领域,然后重新启动key斗篷。不确定我们在这里使用kill是否有可用的东西。我之前已经通过登录主UI创建了myrealm,我的kubernetes脚本为其创建了管理员/密码。但由于我自己创建了myrealm,我似乎无法为它创建管理员用户。我们也在做同样的事情,先创建realm,然后创建user,从未遇到过这样的问题,请尝试通过admin cli或curl或UI创建相同的问题。看到您面临相同的问题了吗?谢谢您的快速回复!您使用哪一个创建管理员<代码>添加用户
    添加用户密钥斗篷
    ?另外,您是否在之后重新启动服务器?如果是,你是如何做到的?我已经使用UI创建了这个领域,它可以正常工作。我可以在myrealm中添加普通用户,但不能添加admin用户。我们正在使用admin cli创建用户、领域、组等,现在我们移动到Docker容器,所以现在从admin cli移动到curl命令。@Sankar。不,我不能。
    /bin/add-user.sh -r myrealm -u admin -p <pwd>
    
    /opt/keycloak/bin/kcadm.sh create realms -s realm=<Realm-NAME> -s id="<realm-id>" -s enabled=true -s 
    
    curl -v <Keycloak-Ip-address>:<Port>/auth/admin/realms -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" --data  '{"realm":"Realm-name","id":"Realm-id","enabled":"true"}' -k