feat(gateway): 接入统一认证中心本地登录

This commit is contained in:
2026-07-12 20:45:35 +08:00
parent f8d766b916
commit 03abc0eab7
10 changed files with 123 additions and 15 deletions
+32 -2
View File
@@ -3,6 +3,32 @@ set -euo pipefail
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
load_local_env() {
local env_file
for env_file in "${PROJECT_ROOT}/.env" "${PROJECT_ROOT}/.env.local"; do
[[ -f "$env_file" ]] || continue
while IFS= read -r line || [[ -n "$line" ]]; do
[[ -z "$line" || "$line" == \#* || "$line" != *=* ]] && continue
local key="${line%%=*}"
local value="${line#*=}"
[[ "$key" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]] || continue
if [[ "$value" == \"*\" && "$value" == *\" ]]; then
value="${value:1:${#value}-2}"
elif [[ "$value" == \'*\' && "$value" == *\' ]]; then
value="${value:1:${#value}-2}"
fi
export "$key=$value"
done < "$env_file"
done
export VITE_OIDC_ENABLED="${VITE_OIDC_ENABLED:-${OIDC_ENABLED:-false}}"
export VITE_OIDC_ISSUER="${VITE_OIDC_ISSUER:-${OIDC_ISSUER:-}}"
export VITE_OIDC_CLIENT_ID="${VITE_OIDC_CLIENT_ID:-${OIDC_CLIENT_ID:-}}"
export VITE_OIDC_REDIRECT_URI="${VITE_OIDC_REDIRECT_URI:-${OIDC_REDIRECT_URI:-}}"
}
load_local_env
stop_stale_api_processes() {
local api_port="${HTTP_ADDR:-:8088}"
api_port="${api_port##*:}"
@@ -64,9 +90,13 @@ if [[ -z "${AI_GATEWAY_PG_PASSWORD:-}" ]] && docker inspect "$AI_GATEWAY_PG_CONT
fi
export AI_GATEWAY_PG_PASSWORD="${AI_GATEWAY_PG_PASSWORD:-easyai2025}"
export AI_GATEWAY_DATABASE_NAME="${AI_GATEWAY_DATABASE_NAME:-easyai_ai_gateway}"
export AI_GATEWAY_DATABASE_URL="${AI_GATEWAY_DATABASE_URL:-postgresql://${AI_GATEWAY_PG_USER}:${AI_GATEWAY_PG_PASSWORD}@localhost:5432/${AI_GATEWAY_DATABASE_NAME}?sslmode=disable}"
if docker inspect "$AI_GATEWAY_PG_CONTAINER" >/dev/null 2>&1; then
export AI_GATEWAY_DATABASE_URL="postgresql://${AI_GATEWAY_PG_USER}:${AI_GATEWAY_PG_PASSWORD}@localhost:5432/${AI_GATEWAY_DATABASE_NAME}?sslmode=disable"
else
export AI_GATEWAY_DATABASE_URL="${AI_GATEWAY_DATABASE_URL:-postgresql://${AI_GATEWAY_PG_USER}:${AI_GATEWAY_PG_PASSWORD}@localhost:5432/${AI_GATEWAY_DATABASE_NAME}?sslmode=disable}"
fi
echo "[ai-gateway] using database: ${AI_GATEWAY_DATABASE_URL}"
echo "[ai-gateway] using configured local database connection (credentials redacted)"
if [[ "${AI_GATEWAY_SKIP_DB_CREATE:-}" == "1" ]]; then
echo "[ai-gateway] skipping Docker database creation"