4.4 KiB
4.4 KiB
Headless 로그인 데모 설정 가이드 (Baron SSO 연동)
이 문서는 headless-login-demo 프로젝트를 설치하고, Baron SSO (OIDC IdP) 관리자 도구(devfront)에서 Headless RP를 올바르게 생성 및 설정하는 방법을 단계별로 설명합니다.
1. Baron SSO (devfront) 설정
Headless RP는 일반 OIDC 클라이언트와 설정 방식이 다릅니다. 특히 IdP 서버가 RP(데모 앱)의 JWKS 엔드포인트에 접속할 수 있어야 함을 유의하십시오.
Step 1: 클라이언트 기본 정보 입력
devfront접속 후 연동 앱 > 연동 앱 추가를 클릭합니다.- Name:
headless-login(또는 자유롭게 입력) - Redirect URIs: 데모 앱에 접속할 주소의 콜백 경로를 입력합니다.
- 통합 환경 (IdP와 RP가 같은 서버일 때):
http://localhost:3000/callback - 분리 환경 (IdP는 원격 서버, RP는 내 PC일 때):
http://[내_PC_IP]:3000/callback - 주의: 실제 앱에서 요청하는 Redirect URI와 여기서 등록한 값이 완전히 일치해야 인증 거부 에러가 발생하지 않습니다.
- 통합 환경 (IdP와 RP가 같은 서버일 때):
- Scopes:
openid,profile,email을 선택합니다. - Type: 반드시
pkce를 선택해야 합니다.
Step 2: Headless 기능 및 보안 설정
pkce하단의 "Headless Login (자체 로그인 UI 사용)" 토글을 활성화합니다.- JWKS URI: Baron SSO 서버에서 접근 가능한 데모 앱의 공개키 주소를 입력합니다.
- 통합 환경 (IdP와 RP가 같은 서버일 때):
http://localhost:3000/.well-known/jwks.json - 분리 환경 (IdP는 원격 서버, RP는 내 PC일 때):
http://[내_PC_IP]:3000/.well-known/jwks.json - 주의: Baron SSO 서버(
172.16.10.175)에서 사용자님의 로컬 PC 포트로 네트워크가 열려있어야 합니다.
- 통합 환경 (IdP와 RP가 같은 서버일 때):
Step 3: 저장 및 확인 (JWKS 캐시 검증)
- 앱 생성 버튼을 클릭해 저장합니다.
- 연동 앱 목록에서 해당 앱이 PKCE (Headless Login) 유형으로 생성됐는지 확인합니다.
- 앱 상세 페이지 하단이나 설정 탭에서 JWKS 캐시 상태가
Success인지 반드시 확인합니다.- 팁: 캐시 상태가 비어있거나 실패인 경우, 데모 앱(내 PC)이 켜져 있는지 확인하고 새로고침(Refresh) 버튼을 눌러 수동으로 캐시를 갱신하세요. 캐싱이 정상적으로 이루어져야만 로그인이 작동합니다.
2. Headless Login 애플리케이션 로컬 설정 (.env)
devfront에서 설정한 값을 바탕으로 프로젝트 루트의 .env 파일을 구성합니다.
# 애플리케이션 실행 포트
PORT=3000
# OIDC IdP 설정 (원격 서버 주소 입력)
CLIENT_ID=a9b64539-7242-4aa5-ad3d-13c7f1ef00f2
ISSUER=http://172.16.10.175/oidc
# 리다이렉트 및 보안 설정
# REDIRECT_URI는 DevFront에 등록한 Redirect URIs 중 하나와 정확히 일치해야 합니다.
REDIRECT_URI=http://[내_PC_IP]:3000/callback
# JWKS_URI는 Baron SSO 서버가 내 PC로 접속할 때 사용하는 주소와 일치해야 합니다.
JWKS_URI=http://[내_PC_IP]:3000/.well-known/jwks.json
3. 주의 사항 (네트워크 구성)
- 서버 간 통신 (Server-to-Server): Headless 로그인은 Baron SSO 서버가 직접 데모 앱의
JWKS_URI에 접속하여 서명을 검증합니다. 따라서 IdP 서버에서 내 로컬 PC의 포트(3000)로의 인바운드 통신이 허용되어야 합니다. - Redirect URI 일치: 브라우저를 통해 접속할 주소가 IP라면, Redirect URI와 JWKS URI 모두 IP 기반 주소로 통일하는 것이 문제 발생 소지를 줄이는 가장 좋은 방법입니다.
4. 실행
npm install
npm start
💡 참고: 자동 키 생성 및 JWKS 엔드포인트 활성화
npm start명령어로 서버를 실행하면, 프로젝트 내에keys.json파일이 자동으로 생성됩니다. 이 파일에는 서버가 자체적으로 발급한 RSA 보안 키 쌍(공개키/개인키)이 저장됩니다. 동시에,.env에 설정된JWKS_URI경로(또는 기본 경로)로 공개키가 서빙되어 Baron SSO가 검증에 사용할 수 있게 됩니다.


