[OIDC] .env 값(OIDC_ISSUER/IDP_SERVICE_URL) 미반영 및 Descope 하드코딩 경로 사용 #5
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
요약
최근 커밋 이후
.env에 설정한OIDC_ISSUER(및 관련 값) /IDP_SERVICE_URL이 기대대로 반영되지 않고, OIDC 흐름이 하드코딩된 Descope 경로로 고정되는 문제가 있습니다.변경점 중심 원인 분석
kngil/bbs/oidc_config.phpAdd docker entrypoint and env loader커밋(bf86b1d, 2026-02-02)에서.env로더와 환경변수 기반 설정이 추가되었으나,6dcc2eb, 2026-02-05)에서return배열이 하드코딩 값으로 덮어쓰기 되었습니다..env의OIDC_ISSUER가 무시됩니다.IDP_SERVICE_URL관련_header.php에서IDP_SERVICE_URL을window.IDP_SERVICE_URL로 주입하지만,kngil/js/qa/qa_common.js,kngil/js/faq/faq_common.js)에 Descope/레거시 경로가 하드코딩되어 있어,화면/기능에 따라
IDP_SERVICE_URL이 반영되지 않는 것처럼 보일 수 있습니다.재현 방법
.env에OIDC_ISSUER/OIDC_CLIENT_ID/OIDC_CLIENT_SECRET/OIDC_REDIRECT_URL/IDP_SERVICE_URL를 설정/kngil/auth/oidc-login.php.env값이 아닌 하드코딩된 Issuer로 로그인 흐름이 이동영향 범위
해결 제안
kngil/bbs/oidc_config.phpreturn배열을 환경변수 기반 값으로 복구issuer => $issuer,client_id => $clientId,client_secret => $clientSecret,redirect_url => $redirectUrl,scopes => $scopesIDP_SERVICE_URL경로 일원화/egbim/.../descope_*하드코딩 경로를 제거하고window.IDP_SERVICE_URL또는 앱 기준 상대경로로 통일검증 방법
.env변경 후 OIDC 로그인 Issuer가 변경되는지 확인IDP_SERVICE_URL기반으로 호출되는지 확인작업 반영 사항 공유드립니다.
kngil/bbs/oidc_config.php에서 하드코딩된 issuer/client/secret/redirect/scopes를 제거하고 환경변수 기반으로 복구했습니다..env의OIDC_ISSUER등 값이 실제 로그인 흐름에 반영됩니다.source .env를 수행하던 로직이DB_PASS에 포함된>문자 때문에 쉘 리다이렉션으로 해석되어 값이 잘리는 문제가 있었습니다.DB_PASS가 잘못 설정되고 PHP가 그 값을 사용해 인증 실패가 발생했습니다. (psql -W는 직접 입력이라 성공).gitea/workflows/deploy.yml,.gitea/workflows/deploy-registry.yml에서source .env를 제거하고docker compose --env-file .env만 사용하도록 변경했습니다.필요 시 배포 후 컨테이너 환경변수
DB_PASS확인 부탁드립니다.