我计划通过Azure管道持续交付我的api和后台js-spa应用程序。我想知道如何以及是否建议自动在keycloack上为我的api进行客户端注册。 自动化这部分部署的最佳方法是什么?
答案 0 :(得分:1)
据我所知,keycloak是本地服务器。因此,要使用keycloak,您需要创建一个self-hosted agent,然后可以在其上运行CD(连续交付)管道。
在Azure Pipeline中,没有开箱即用的管道任务来支持keycloak客户端注册。
您需要在PowerShell task/Bash task/Command Line task
中运行CURL script进行客户端注册。
这里是一个例子:
curl -X POST \
-d '{ "clientId": "$(myclient)" }' \
-H "Content-Type:application/json" \
-H "Authorization: bearer xxtokenxx" \
http://localhost:8080/auth/realms/master/clients-registrations/default
您可以使用客户端创建变量(logging command)。然后,您可以在CURL脚本中使用该变量。
例如:
echo "##vso[task.setvariable variable=myclient;]Client content"
您可以在下一个任务中使用$(myclient)
。