diff --git a/src/config.js b/src/config.js index e1ca88f..cb5c4e4 100644 --- a/src/config.js +++ b/src/config.js @@ -26,7 +26,7 @@ export const config = { coder: process.env.CODER_URL || "https://coder.bokdev.in/api/v2/users/oidc/callback", gitea: process.env.GITEA_URL || "https://gitea.bokdev.in/user/oauth2/keycloak", kubero: process.env.KUBERO_URL || "https://kubero.bokdev.in", - coolify: process.env.COOLIFY_URL || "https://coolify.bokdev.in", + coolify: process.env.COOLIFY_URL || "https://coolify.bokdev.in/auth/keycloak/redirect", harbor: process.env.HARBOR_URL || "https://harbor.bokdev.in", openeverest: process.env.OPENEVEREST_URL || "https://openeverest.bokdev.in", minio: process.env.MINIO_URL || "https://minioc.bokdev.in", diff --git a/src/sites.js b/src/sites.js index f0f33c3..14394ed 100644 --- a/src/sites.js +++ b/src/sites.js @@ -5,6 +5,7 @@ // 포털 로그인 후 이 링크를 누르면 바로 들어간다. // - Coder: /api/v2/users/oidc/callback (code 없으면 keycloak authorize 로 307) // - Gitea: /user/oauth2/keycloak (auth source 명=keycloak, 307 로 keycloak authorize) +// - Coolify: /auth/keycloak/redirect (Laravel Socialite, keycloak authorize 로 302) // SSO 미지원(Kubero/Harbor 등)은 기본 URL 유지. // // adminOnly: true 인 항목은 관리자(role=admin)에게만 렌더(숨김, disabled 아님). @@ -17,8 +18,9 @@ export const sites = [ { key: "gitea", name: "Gitea", desc: "Git 저장소", url: config.tools.gitea, icon: "🍵", sso: true }, // Kubero: Keycloak SSO 로 로그인 가능(단, 랜딩에서 "OAuth 로 로그인"을 한 번 더 눌러야 함). { key: "kubero", name: "Kubero", desc: "배포 (PaaS)", url: config.tools.kubero, icon: "🚀", sso: true }, - // Coolify: Kubero 와 같은 배포 PaaS. SSO 자동 로그인 엔드포인트 미확인이라 기본 URL 유지. - { key: "coolify", name: "Coolify", desc: "배포 (PaaS)", url: config.tools.coolify, icon: "⛵" }, + // Coolify: Kubero 와 같은 배포 PaaS. Keycloak SSO 지원 → + // /auth/keycloak/redirect (로그인 시작, code 없으면 keycloak authorize 로 302). callback 은 /auth/keycloak/callback. + { key: "coolify", name: "Coolify", desc: "배포 (PaaS)", url: config.tools.coolify, icon: "⛵", sso: true }, // --- 인프라/운영 (관리자 전용) --- { key: "harbor", name: "Harbor", desc: "컨테이너 레지스트리", url: config.tools.harbor, icon: "📦", adminOnly: true }, { key: "openeverest", name: "OpenEverest", desc: "DB 콘솔", url: config.tools.openeverest, icon: "🗄️", adminOnly: true },