当前位置: 首页 > 知识库问答 >
问题:

如何在Windows上使用Keycloak管理CLI和Ansible

韦翰音
2023-03-14

我在Windows2016服务器上安装了Keycloak,并通过Ansible创建了一个管理用户,到目前为止还不错。现在,我想通过Ansible安装管理API,以便通过Ansible配置Keycloak。当我在windows计算机的命令行中本地运行接下来的3个命令时,所有命令都正常工作:1。安装API:从bin文件夹运行kcadm.bat

连接到API:\bin>KCADM配置凭据--服务器http://localhost:8080/auth--realm master--user keycloak然后要求我进行身份验证:以realm master的用户keycloak身份登录到http://localhost:8080/auth,输入密码:xxxxx

Create client:c:\>kcadm Create clients-r master-s clientid=my-client-s“redirecturis=[\”http://localhost:8980/myapp/*\“]”-i>clientd.txt

有人能建议如何在Ansible中做到这一点吗?

我用win命令运行第一个命令:

- name: install admin cli for keycloak
  win_command: 'C:\Install\Keycloak\keycloak-6.0.1\keycloak- 6.0.1\bin\kcadm.bat'
fatal: [keykloak-ansible]: FAILED! => {"changed": true, "cmd": "C:\\Install\\Keycloak\\keycloak-6.0.1\\keycloak-6.0.1\\bin\\kcadm.bat", "delta": "0:00:01.190629", "end": "2019-05-16 06:42:36.617885", "msg": "non-zero return code", "rc": 1, "start": "2019-05-16 06:42:35.427256", "stderr": "", "stderr
_lines"
- name: keycloak cli authentication
  win_command: kcadm config credentials --server http://10.128.32.220:8080/auth --realm master --user keycloak --password xxx
 args:
   chdir: 'C:\Install\Keycloak\keycloak-6.0.1\keycloak-6.0.1\bin'
fatal: [keykloak-ansible]: FAILED! => {"changed": false, "cmd": "C:\\Install\\Keycloak\\keycloak-6.0.1\\keycloak-6.0.1\\bin\\kcadm config credentials --server http://10.128.32.220:8080/auth --realm master --user keycloak", "msg": "Exception calling \"SearchPath\" with \"1\" argument(s): \"Could not
locate the following executable C:\\Install\\Keycloak\\keycloak-6.0.1\\keycloak-6.0.1\\bin\\kcadm.exe

有人有什么建议吗?有人在Windows上用过Admin CLI和Ansible吗?

谢谢Rina

共有1个答案

鞠建安
2023-03-14

在安装keycloak后,我们从kcadm中添加了realm/client/user/group/mapper等,这是非常流畅的过程,如果您只使用一个管理工具来从命令行使用keycloak,那么您必须记住一点,因此对于Linux必须使用kcadm.sh,对于Windows必须使用kcadm.bat,这些是从命令提示符运行keycloak命令的核心脚本。

因此,您必须使用kcadm.sh运行命令,或者您必须转到keycloak目录,其中存在kcadm.batkcadm.sh文件,然后运行命令,因此,在本例中,我们从Ansible运行shell脚本文件,shell脚本包含如下命令

/opt/keycloak/bin/kcadm.sh config truststore --trustpass keycloak  /opt/keycloak/security/ssl/keycloak.jks
/opt/keycloak/bin/kcadm.sh config credentials --server https://{{keycloak_server_IP}}:{{keycloak_port}}/auth --realm master --user admin --password admin --client admin-cli
/opt/keycloak/bin/kcadm.sh create realms -s realm=SURE -s id="TEST" -s enabled=true
  1. 如果您的Keycloak运行在https上,请使用第一个命令。
  2. 使用masterrealm登录到keycloak。
  3. 现在成功登录后,可以运行其他命令。
 类似资料:
  • 问题内容: 我想实现我的应用程序,是 不是 需要右键单击并选择 以管理员身份运行 我要运行它每次。我希望Windows像其他Windows应用程序一样提示我获得管理员权限。 考虑以下代码: 如果您编译它并双击它,它将打印: 打开:C:\ Windows \ test.txt:拒绝访问。 但是,如果右键单击并以管理员身份运行,它将创建并写入文件。 如何使其仅通过双击即可要求管理员权限? 问题答案:

  • < code>az - version告知更新我的CLI安装,但没有说明该怎么做。那么,如果有更新的话,安装更新的< code>az命令是什么?我似乎到处都找不到它。 我试着在这里寻找答案:https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest和这里:https://git

  • ii)$jboss_home/bin/kcadm.sh配置凭据--服务器http://localhost:8080/auth--realm master-user uadmin--password${UADMIN_PWD} iii)$jboss_home/bin/kcadm.sh create realms-s realm=myrealm-s enabled=true 最重要的是- 对于领域创建过

  • 问题内容: 我想知道如何在Windows XP 32位上使用PyPy 1.8。我从网站上下载了zip文件,并将其安装到“我的文档”文件中。最初,我认为它与psyco类似,因为我必须“导入psyco”,但是我发现PyPy.exe的行为类似于Python命令行。 我尝试将脚本拖到PyPy.exe中运行它们,但似乎根本不起作用。尝试在PyPy中使用“ python”命令会产生“未定义全局名称’pytho

  • 问题内容: 我正在尝试安装OpenCV库并将其用于python开发。我想将其用于PyCharm IDE。我正在尝试不使用软件包管理器。 该环境是Windows 64位体系结构。对于Python,我正在使用Python 2.7.10。 我已经在系统路径中包含了OpenCV目录。 我正在为PyCharm使用python 2.7.10解释器,并安装了pip和numpy软件包。 opencv版本是3.0.

  • 问题内容: 我需要能够从Go应用程序中管理Windows本地用户帐户,并且似乎没有使用CGo,就没有本机绑定。 我的最初搜索使人们说,最好使用“ exec.Command”运行“ net user”命令,但是在解析响应代码时,这似乎很混乱且不可靠。 我发现可以在netapi32.dll库中找到处理此类事件的函数,但是由于Go本身不支持Windows头文件,因此调用这些函数似乎并不容易。 以http