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

how to register a client on keycloack automatically during continous delivery?

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

据我所知,keycloak是一个本地服务器。所以为了使用 keycloak ,你需要创建一个 self-hosted agent,然后你可以 运行 CD(持续交付)管道。

在 Azure Pipeline 中,没有开箱即用的管道任务来支持 keycloak 客户端注册。

您需要 运行 CURL scriptPowerShell task/Bash task/Command Line task 中的客户注册。

这是一个例子:

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)