feat(sites): Coolify Keycloak SSO 로그인 시작 URL(/auth/keycloak/redirect) 적용
callback 이 /auth/keycloak/callback 이라 Socialite 시작 경로는 /auth/keycloak/redirect. 포털 SSO 세션이 있으면 폼 없이 통과. COOLIFY_URL 로 덮어쓰기 가능. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -26,7 +26,7 @@ export const config = {
|
|||||||
coder: process.env.CODER_URL || "https://coder.bokdev.in/api/v2/users/oidc/callback",
|
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",
|
gitea: process.env.GITEA_URL || "https://gitea.bokdev.in/user/oauth2/keycloak",
|
||||||
kubero: process.env.KUBERO_URL || "https://kubero.bokdev.in",
|
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",
|
harbor: process.env.HARBOR_URL || "https://harbor.bokdev.in",
|
||||||
openeverest: process.env.OPENEVEREST_URL || "https://openeverest.bokdev.in",
|
openeverest: process.env.OPENEVEREST_URL || "https://openeverest.bokdev.in",
|
||||||
minio: process.env.MINIO_URL || "https://minioc.bokdev.in",
|
minio: process.env.MINIO_URL || "https://minioc.bokdev.in",
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
// 포털 로그인 후 이 링크를 누르면 바로 들어간다.
|
// 포털 로그인 후 이 링크를 누르면 바로 들어간다.
|
||||||
// - Coder: /api/v2/users/oidc/callback (code 없으면 keycloak authorize 로 307)
|
// - Coder: /api/v2/users/oidc/callback (code 없으면 keycloak authorize 로 307)
|
||||||
// - Gitea: /user/oauth2/keycloak (auth source 명=keycloak, 307 로 keycloak authorize)
|
// - Gitea: /user/oauth2/keycloak (auth source 명=keycloak, 307 로 keycloak authorize)
|
||||||
|
// - Coolify: /auth/keycloak/redirect (Laravel Socialite, keycloak authorize 로 302)
|
||||||
// SSO 미지원(Kubero/Harbor 등)은 기본 URL 유지.
|
// SSO 미지원(Kubero/Harbor 등)은 기본 URL 유지.
|
||||||
//
|
//
|
||||||
// adminOnly: true 인 항목은 관리자(role=admin)에게만 렌더(숨김, disabled 아님).
|
// 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 },
|
{ key: "gitea", name: "Gitea", desc: "Git 저장소", url: config.tools.gitea, icon: "🍵", sso: true },
|
||||||
// Kubero: Keycloak SSO 로 로그인 가능(단, 랜딩에서 "OAuth 로 로그인"을 한 번 더 눌러야 함).
|
// Kubero: Keycloak SSO 로 로그인 가능(단, 랜딩에서 "OAuth 로 로그인"을 한 번 더 눌러야 함).
|
||||||
{ key: "kubero", name: "Kubero", desc: "배포 (PaaS)", url: config.tools.kubero, icon: "🚀", sso: true },
|
{ key: "kubero", name: "Kubero", desc: "배포 (PaaS)", url: config.tools.kubero, icon: "🚀", sso: true },
|
||||||
// Coolify: Kubero 와 같은 배포 PaaS. SSO 자동 로그인 엔드포인트 미확인이라 기본 URL 유지.
|
// Coolify: Kubero 와 같은 배포 PaaS. Keycloak SSO 지원 →
|
||||||
{ key: "coolify", name: "Coolify", desc: "배포 (PaaS)", url: config.tools.coolify, icon: "⛵" },
|
// /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: "harbor", name: "Harbor", desc: "컨테이너 레지스트리", url: config.tools.harbor, icon: "📦", adminOnly: true },
|
||||||
{ key: "openeverest", name: "OpenEverest", desc: "DB 콘솔", url: config.tools.openeverest, icon: "🗄️", adminOnly: true },
|
{ key: "openeverest", name: "OpenEverest", desc: "DB 콘솔", url: config.tools.openeverest, icon: "🗄️", adminOnly: true },
|
||||||
|
|||||||
Reference in New Issue
Block a user