Keycloak: 4. 创建服务
本文档属于使用 CLI 实现自动化指南的一部分。您可以在此处查看完整指南:通过 Stackhero CLI 以编程方式启动 Keycloak、获取其凭据并更改其配置。
👋 欢迎查阅 Stackhero 文档!
Stackhero 提供 Keycloak 云服务,让您仅需 2 分钟即可轻松部署一套可用于生产环境的身份认证服务:
- 无限量用户、realm 和 client
- 支持 OpenID Connect、OAuth 2.0、SAML 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