Keycloak: 4. 创建服务
本文件是使用 CLI 实现自动化指南的一部分。您可以在这里查看完整指南:通过 Stackhero CLI 以编程方式启动 Keycloak、获取其凭证并更改其配置。
👋 欢迎来到 Stackhero 文档!
Stackhero 提供 Keycloak cloud 服务,让您仅需 2 分钟即可轻松部署可用于生产环境的身份认证服务:
- 无限制的用户、realm 和 client
- 支持 OpenID Connect、OAuth 2.0、SAML 2.0、社交登录、LDAP 及 Active Directory 联邦
- 自定义域名,内置 HTTPS,确保安全访问(例如,https://login.your-company.com)
- 自定义主题:通过内置在线编辑器,轻松定制您的登录页面、账户控制台和邮件内容
- 专属 email 服务器,支持 SPF、DKIM 和 DMARC,自动处理账户确认和密码重置
- 内置 PostgreSQL 数据库,管理控制台可通过独立端口访问并可关闭
- 一键升级,让您的系统始终保持最新,无需手动操作
专注于开发,而不是配置:您可以在 5 分钟内体验 Stackhero 的 Keycloak cloud 解决方案。
以下是一个示例脚本:创建一个 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 created: ${stackId}"
# 将 Keycloak 添加到 stack(名称会自动解析)
serviceId=$(stackhero --format=script service-add \
--stack="My Keycloak stack" \
--service-store="${serviceStore}" \
--instance="${instance}" \
--region="${region}")
echo "Service added: keycloak"
# 等待服务完全启动(可能需要几分钟)
stackhero service-wait-for --service="keycloak"
# 获取服务配置,包括自动生成的凭证
stackhero service-configuration-get --service="keycloak" --format=json