BARON-SSO 로그인 연동

This commit is contained in:
root
2026-07-27 17:23:52 +09:00
parent bf5e694571
commit ac5823234e
44 changed files with 1804 additions and 695 deletions
+52
View File
@@ -13,6 +13,7 @@
2. 필요하면 `.env.docker.example` 내용을 참고해 `.env` 파일을 만든다.
3. DB 덤프가 있으면 `docker/mysql/init/` 아래에 `.sql` 파일로 넣는다.
4. 기본 로컬 DB명은 운영과 맞춘 `egbim` 이다.
5. BARON-SSO 를 로컬에서 테스트하려면 BARON 앱 설정에 로컬 Redirect URI 를 추가해야 한다.
## 실행
@@ -20,6 +21,57 @@
docker compose up --build
```
## BARON-SSO 로컬 테스트 설정
`.env` 에 아래 값을 채운다.
```dotenv
BARON_SSO_CLIENT_ID=<client id>
BARON_SSO_CLIENT_SECRET=<client secret>
BARON_SSO_AUTHORIZE_ENDPOINT=https://app.brsw.kr/oidc/oauth2/auth
BARON_SSO_TOKEN_ENDPOINT=https://app.brsw.kr/oidc/oauth2/token
BARON_SSO_USERINFO_ENDPOINT=https://app.brsw.kr/oidc/userinfo
BARON_SSO_ISSUER=https://app.brsw.kr/oidc
BARON_SSO_REDIRECT_URI=http://localhost:8088/auth/callback
BARON_SSO_SCOPE=openid profile email tenants
BARON_SSO_CLIENT_AUTH_METHOD=basic
```
`BARON_SSO_CLIENT_AUTH_METHOD` 는 우선 `basic` 으로 두고, 토큰 엔드포인트가 `invalid_client` 를 반환하면 `post` 로 바꿔 다시 확인한다.
BARON 관리자 화면의 Redirect URI 허용 목록에도 아래 중 하나를 추가한다.
```text
http://localhost:8088/auth/callback
http://eg-bim.com:8088/auth/callback
```
운영에 등록된 `https://eg-bim.com/auth/callback` 만 허용되어 있으면 로컬 callback 은 실패한다.
## 로컬 확인 순서
1. `docker compose up --build -d`
2. `docker compose ps``app`, `db` 상태 확인
3. 브라우저에서 `http://localhost:8088/egbim/` 접속
4. 로그인 팝업에서 `사내 사용자 로그인` 버튼 클릭
5. BARON 로그인 후 `http://localhost:8088/auth/callback` 로 복귀하는지 확인
6. 복귀 후 `http://localhost:8088/egbim/bbs/descope_qa_list.php` 로 이동하는지 확인
## 빠른 점검 URL
- BARON 시작점: `http://localhost:8088/auth/baron_login?site=egbim&return_url=/egbim/bbs/descope_qa_list.php`
- BARON 콜백: `http://localhost:8088/auth/callback`
- 국문 Q&A: `http://localhost:8088/egbim/bbs/descope_qa_list.php`
- 영문 Q&A: `http://localhost:8088/eng/bbs/descope_qa_list.php`
## 문제 발생 시 먼저 볼 항목
- Redirect URI 가 BARON 허용 목록과 정확히 일치하는지 확인
- `.env` 값이 비어 있지 않은지 확인
- 컨테이너 재기동 전에 `.env` 변경분이 반영되었는지 확인
- callback 경로가 `/auth/callback` 으로 등록되어 있는지 확인
- 브라우저 개발자도구 Network 에서 token endpoint 호출 전 redirect 단계가 정상인지 확인
## 접속
- 기본: `http://localhost:8080/egbim/`