Keycloak: 4. 建立服務

此文件屬於使用 CLI 自動化操作指南的一部分。請在此處查看完整指南:透過 Stackhero CLI 程式化啟動 Keycloak、取得其認證資料,以及變更其設定

👋 歡迎瀏覽 Stackhero 文件!

Stackhero 提供 Keycloak cloud 服務,讓您只需 2 分鐘即可輕鬆部署一個可用於生產環境的身份認證服務:

  • 無限用戶、realms 及 clients
  • 支援 OpenID ConnectOAuth 2.0SAML 2.0、社交登入、LDAP 及 Active Directory 聯合
  • 自訂網域名稱,內建 HTTPS,確保安全連線(例如 https://login.your-company.com
  • 自訂主題:可利用內置的線上編輯器輕鬆為登入頁面、帳戶控制台及電郵加上您的品牌風格
  • 專屬 電郵伺服器,支援 SPF、DKIM 及 DMARC,協助您自動處理帳戶確認及重設密碼
  • 內建 PostgreSQL 資料庫,管理控制台可於獨立且可關閉的連接埠上存取
  • 一鍵更新,讓您的系統隨時保持最新,無需手動操作

專注於開發,無需煩惱設定:您可以在 5 分鐘內體驗 Stackhero 的 Keycloak cloud 解決方案

以下是一個範例腳本,會建立一個 stack,將您的 Keycloak 服務加入其中,等待服務啟動,取得其設定(包括自動產生的認證資料),然後套用新的設定。

#!/bin/bash
set -e

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

serviceStore="keycloak"   # Keycloak 服務 store 名稱(見步驟 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