Keycloak: 4. 创建服务

本文档属于使用 CLI 实现自动化指南的一部分。您可以在此处查看完整指南:通过 Stackhero CLI 以编程方式启动 Keycloak、获取其凭据并更改其配置

👋 欢迎查阅 Stackhero 文档!

Stackhero 提供 Keycloak 云服务,让您仅需 2 分钟即可轻松部署一套可用于生产环境的身份认证服务:

  • 无限量用户、realm 和 client
  • 支持 OpenID ConnectOAuth 2.0SAML 2.0、社交登录、LDAP 及 Active Directory 联邦
  • 自定义域名,内置 HTTPS,保障安全访问(例如,https://login.your-company.com
  • 自定义主题:通过内置在线编辑器,轻松定制登录页面、账户控制台和邮件的品牌风格
  • 专属 邮件服务器,支持 SPF、DKIM 和 DMARC,自动处理账户确认和密码重置
  • 内置 PostgreSQL 数据库,管理控制台可通过独立端口访问并支持关闭
  • 一键升级,系统自动保持最新,无需手动干预

专注于开发,而非配置:您可以在 5 分钟内体验 Stackhero 的 Keycloak 云解决方案

以下是一个示例脚本,演示如何创建一个 stack,将您的 Keycloak 服务添加到 stack,等待服务启动,获取其配置信息(包括自动生成的凭据),并应用新的配置。

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="keycloak"   # Keycloak 服务商店名称(见第 2 步)
instance="..."                # 第 3 步获取的实例规格
region="europe"               # 第 3 步获取的区域名称

# 为您的服务创建一个 stack(默认使用您的主组织,如有需要可添加 --organization)
stackId=$(stackhero --format=script stack-create \
  --name="My Keycloak stack")
echo "Stack 已创建: ${stackId}"

# 将 Keycloak 添加到 stack(名称自动解析)
serviceId=$(stackhero --format=script service-add \
  --stack="My Keycloak stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "服务已添加: keycloak"

# 等待服务完全启动(可能需要几分钟)
stackhero service-wait-for --service="keycloak"

# 获取服务配置,包括自动生成的凭据
stackhero service-configuration-get --service="keycloak" --format=json