diff --git a/tinyauth/4.0.0/data.yml b/tinyauth/4.0.0/data.yml index 8079423e8..370ccb2b5 100644 --- a/tinyauth/4.0.0/data.yml +++ b/tinyauth/4.0.0/data.yml @@ -17,10 +17,10 @@ additionalProperties: rule: paramPort type: number - - default: "" + - default: "https://sso.example.com" envKey: PANEL_TINYAUTH_APP_URL labelEn: App URL - labelZh: 应用地址 + labelZh: 应用地址(结尾不要添加斜杠) label: en: App URL ja: アプリURL @@ -28,7 +28,7 @@ additionalProperties: pt-br: URL do Aplicativo ru: URL приложения ko: 앱 URL - zh: 应用地址 + zh: 应用地址(结尾不要添加斜杠) zh-Hant: 應用地址 required: false type: text @@ -84,7 +84,7 @@ additionalProperties: - default: "" envKey: PANEL_TINYAUTH_OAUTH_AUTO_REDIRECT labelEn: Auto Redirect Provider - labelZh: 自动跳转提供商 + labelZh: 自动跳转到登录页面 label: en: Auto Redirect Provider ja: 自動リダイレクトプロバイダー @@ -92,19 +92,15 @@ additionalProperties: pt-br: Provedor de Redirecionamento Automático ru: Автоматический редирект провайдера ko: 자동 리디렉션 제공자 - zh: 自动跳转提供商 - zh-Hant: 自動跳轉提供商 + zh: 自动跳转到登录页面 + zh-Hant: 自動跳轉到登錄頁面 required: false type: select values: - - label: None + - label: False value: "none" - - label: GitHub - value: "github" - - label: Google - value: "google" - - label: Generic - value: "generic" + - label: True + value: "PROVIDER_ID_PLACEHOLDER" # 后面会替换掉为对应的提供商 - default: "" envKey: PANEL_TINYAUTH_BACKGROUND_IMAGE @@ -121,59 +117,45 @@ additionalProperties: zh-Hant: 背景圖片 required: false type: text - - # GitHub - - default: "" - envKey: PANEL_TINYAUTH_GITHUB_CLIENT_ID - labelEn: GitHub Client ID - labelZh: GitHub 客户端ID - required: false + + - default: "github" + envKey: PANEL_TINYAUTH_PROVIDER_ID + labelEn: Provider ID + labelZh: 提供商ID(仅填写一个,名称任意,如果为github或google,后面参数仅需要填写client_id和client_secret) + label: + en: Provider ID + ja: プロバイダーID + ms: ID Penyedia + pt-br: ID do Provedor + ru: ID провайдера + ko: 자동 리디렉션 제공자 + zh: 提供商ID(仅填写一个,名称任意,如果为github或google,后面参数仅需要填写client_id和client_secret) + zh-Hant: 供應商ID(僅填寫一個,名稱任意,如果為github或google,後面參數僅需要填寫client_id和client_secret) + required: True type: text - - default: "" - envKey: PANEL_TINYAUTH_GITHUB_CLIENT_SECRET - labelEn: GitHub Client Secret - labelZh: GitHub 客户端密钥 - required: false - type: password - - # Google - - default: "" - envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_ID - labelEn: Google Client ID - labelZh: Google 客户端ID - required: false - type: text - - - default: "" - envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET - labelEn: Google Client Secret - labelZh: Google 客户端密钥 - required: false - type: password - # Generic - - default: "" - envKey: PANEL_TINYAUTH_GENERIC_NAME - labelEn: Generic Provider Name - labelZh: 通用提供商名称 - required: false - type: text - - default: "" envKey: PANEL_TINYAUTH_GENERIC_CLIENT_ID labelEn: Generic Client ID labelZh: 通用客户端ID - required: false + required: true type: text - default: "" envKey: PANEL_TINYAUTH_GENERIC_CLIENT_SECRET labelEn: Generic Client Secret labelZh: 通用客户端密钥 - required: false + required: true type: password + - default: "" + envKey: PANEL_TINYAUTH_GENERIC_NAME + labelEn: Generic Provider Name + labelZh: 通用提供商名称 + required: false + type: text + - default: "" envKey: PANEL_TINYAUTH_GENERIC_AUTH_URL labelEn: Generic Auth URL @@ -189,7 +171,7 @@ additionalProperties: type: text - default: "" - envKey: PANEL_TINYAUTH_GENERIC_USER_URL + envKey: PANEL_TINYAUTH_GENERIC_USER_INFO_URL labelEn: Generic User Info URL labelZh: 通用用户信息地址 required: false diff --git a/tinyauth/4.0.0/docker-compose.yml b/tinyauth/4.0.0/docker-compose.yml index e4f52e2f1..1ff0e8ed9 100644 --- a/tinyauth/4.0.0/docker-compose.yml +++ b/tinyauth/4.0.0/docker-compose.yml @@ -11,24 +11,15 @@ services: - OAUTH_AUTO_REDIRECT=${PANEL_TINYAUTH_OAUTH_AUTO_REDIRECT} - BACKGROUND_IMAGE=${PANEL_TINYAUTH_BACKGROUND_IMAGE} - # ---- GitHub ---- - - PROVIDERS_GITHUB_CLIENT_ID=${PANEL_TINYAUTH_GITHUB_CLIENT_ID} - - PROVIDERS_GITHUB_CLIENT_SECRET=${PANEL_TINYAUTH_GITHUB_CLIENT_SECRET} - # - PROVIDERS_GITHUB_REDIRECT_URI=${PANEL_TINYAUTH_GITHUB_REDIRECT_URI} - - # ---- Google ---- - - PROVIDERS_GOOGLE_CLIENT_ID=${PANEL_TINYAUTH_GOOGLE_CLIENT_ID} - - PROVIDERS_GOOGLE_CLIENT_SECRET=${PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET} - # - PROVIDERS_GOOGLE_REDIRECT_URI=${PANEL_TINYAUTH_GOOGLE_REDIRECT_URI} - # ---- Generic (示例 Linux.Do) ---- - - PROVIDERS_GENERIC_NAME=${PANEL_TINYAUTH_GENERIC_NAME} - - PROVIDERS_GENERIC_CLIENT_ID=${PANEL_TINYAUTH_GENERIC_CLIENT_ID} - - PROVIDERS_GENERIC_CLIENT_SECRET=${PANEL_TINYAUTH_GENERIC_CLIENT_SECRET} - - PROVIDERS_GENERIC_AUTH_URL=${PANEL_TINYAUTH_GENERIC_AUTH_URL} - - PROVIDERS_GENERIC_TOKEN_URL=${PANEL_TINYAUTH_GENERIC_TOKEN_URL} - - PROVIDERS_GENERIC_USER_INFO_URL=${PANEL_TINYAUTH_GENERIC_USER_URL} - - PROVIDERS_GENERIC_SCOPES=${PANEL_TINYAUTH_GENERIC_SCOPES} + - PROVIDERS_PLACEHOLDER_CLIENT_ID=${PANEL_TINYAUTH_GENERIC_CLIENT_ID} + - PROVIDERS_PLACEHOLDER_CLIENT_SECRET=${PANEL_TINYAUTH_GENERIC_CLIENT_SECRET} + - PROVIDERS_PLACEHOLDER_NAME=${PANEL_TINYAUTH_GENERIC_NAME} + - PROVIDERS_PLACEHOLDER_AUTH_URL=${PANEL_TINYAUTH_GENERIC_AUTH_URL} + - PROVIDERS_PLACEHOLDER_TOKEN_URL=${PANEL_TINYAUTH_GENERIC_TOKEN_URL} + - PROVIDERS_PLACEHOLDER_USER_INFO_URL=${PANEL_TINYAUTH_GENERIC_USER_INFO_URL} + - PROVIDERS_PLACEHOLDER_REDIRECT_URL=${PANEL_TINYAUTH_APP_URL}/api/oauth/callback/${PANEL_TINYAUTH_PROVIDER_ID} + - PROVIDERS_PLACEHOLDER_SCOPES=${PANEL_TINYAUTH_GENERIC_SCOPES} ports: - "${PANEL_APP_PORT_HTTP}:3000" diff --git a/tinyauth/4.0.0/scripts/init.sh b/tinyauth/4.0.0/scripts/init.sh new file mode 100644 index 000000000..bcf315d0f --- /dev/null +++ b/tinyauth/4.0.0/scripts/init.sh @@ -0,0 +1,35 @@ +#!/bin/bash +set -e + +# 1️⃣ 确保.env存在 +if [ ! -f ".env" ]; then + echo "❌ 未找到 .env 文件" + exit 1 +fi + +# 2️⃣ 读取 PANEL_TINYAUTH_PROVIDER_ID 变量 +PANEL_TINYAUTH_PROVIDER_ID=$(grep '^PANEL_TINYAUTH_PROVIDER_ID=' .env | cut -d '=' -f2- | tr -d '"') + +if [ -z "$PANEL_TINYAUTH_PROVIDER_ID" ]; then + echo "❌ 未在 .env 中找到 PANEL_TINYAUTH_PROVIDER_ID" + exit 1 +fi + +# 3️⃣ 生成大写版本 +UPPER_ID=$(echo "$PANEL_TINYAUTH_PROVIDER_ID" | tr '[:lower:]' '[:upper:]') + +# 4️⃣ 替换 .env 中的 PROVIDER_ID_PLACEHOLDER +echo "🧩 替换 .env 文件中的 PROVIDER_ID_PLACEHOLDER → $PANEL_TINYAUTH_PROVIDER_ID" +sed -i "s/PROVIDER_ID_PLACEHOLDER/${PANEL_TINYAUTH_PROVIDER_ID}/g" .env + +# 5️⃣ 替换 docker-compose.yml 中的 PROVIDERS_PLACEHOLDER +if [ ! -f "docker-compose.yml" ]; then + echo "❌ 未找到 docker-compose.yml 文件" + exit 1 +fi + +echo "🧩 替换 docker-compose.yml 文件中的 PROVIDERS_PLACEHOLDER → PROVIDERS_${UPPER_ID}" +sed -i "s/PROVIDERS_PLACEHOLDER/PROVIDERS_${UPPER_ID}/g" docker-compose.yml + +# 6️⃣ 提示完成 +echo "✅ 替换完成!" diff --git a/tinyauth/4.0.0/scripts/upgrade.sh b/tinyauth/4.0.0/scripts/upgrade.sh new file mode 100644 index 000000000..91629b444 --- /dev/null +++ b/tinyauth/4.0.0/scripts/upgrade.sh @@ -0,0 +1,31 @@ +#!/bin/bash +set -e + +# 1️⃣ 确保.env存在 +if [ ! -f ".env" ]; then + echo "❌ 未找到 .env 文件" + exit 1 +fi + +# 2️⃣ 读取 PANEL_TINYAUTH_PROVIDER_ID 变量 +PANEL_TINYAUTH_PROVIDER_ID=$(grep '^PANEL_TINYAUTH_PROVIDER_ID=' .env | cut -d '=' -f2- | tr -d '"') + +if [ -z "$PANEL_TINYAUTH_PROVIDER_ID" ]; then + echo "❌ 未在 .env 中找到 PANEL_TINYAUTH_PROVIDER_ID" + exit 1 +fi + +# 3️⃣ 生成大写版本 +UPPER_ID=$(echo "$PANEL_TINYAUTH_PROVIDER_ID" | tr '[:lower:]' '[:upper:]') + +# 5️⃣ 替换 docker-compose.yml 中的 PROVIDERS_PLACEHOLDER +if [ ! -f "docker-compose.yml" ]; then + echo "❌ 未找到 docker-compose.yml 文件" + exit 1 +fi + +echo "🧩 替换 docker-compose.yml 文件中的 PROVIDERS_PLACEHOLDER → PROVIDERS_${UPPER_ID}" +sed -i "s/PROVIDERS_PLACEHOLDER/PROVIDERS_${UPPER_ID}/g" docker-compose.yml + +# 6️⃣ 提示完成 +echo "✅ 替换完成!"