如何在连续交付期间自动在keycloack上注册客户端?

时间:2020-10-24 16:31:52

标签: azure-devops keycloak continuous-deployment

我计划通过Azure管道持续交付我的api和后台js-spa应用程序。我想知道如何以及是否建议自动在keycloack上为我的api进行客户端注册。 自动化这部分部署的最佳方法是什么?

1 个答案:

答案 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)

相关问题