forked from baron/baron-sso
2.1 KiB
2.1 KiB
이슈 #489 작업 완료 보고서
작업 개요
devfront에서 'Headless Login (자체 로그인 UI 사용)' 옵션을 활성화하여 생성한 PKCE 앱이 연동 앱 목록에서 'Server side App'으로 잘못 표기되는 현상을 수정했습니다.
상세 반영 내용
1. 백엔드 로직 수정 (backend/internal/handler/dev_handler.go)
mapClientSummary함수에서 클라이언트 유형(Type)을 결정하는 로직을 보완했습니다.- 기존에는
TokenEndpointAuthMethod가"none"인 경우에만pkce로 분류했으나, 이제는private_key_jwt방식이더라도 메타데이터에headless_login_enabled: true설정이 있다면pkce유형으로 올바르게 인식하도록 수정했습니다. clientSummary구조체 응답에metadata필드를 포함시켜 프론트엔드가 상세 설정값을 인지할 수 있도록 개선했습니다.
2. 프론트엔드 API 타입 정의 수정 (devfront/src/lib/devApi.ts)
ClientSummary인터페이스에 백엔드에서 전달되는metadata?: Record<string, any>필드를 추가하여 타입 안정성을 확보했습니다.
3. 다국어 리소스 추가 (locales/*.toml)
ko.toml,en.toml,template.toml파일의[ui.dev.clients.type]섹션에pkce_headless키를 추가했습니다.- 한국어:
"PKCE (Headless Login)" - 영어:
"PKCE (Headless Login)"
- 한국어:
4. 연동 앱 목록 UI 개선 (devfront/src/features/clients/ClientsPage.tsx)
- 클라이언트 목록 테이블의 '유형' 뱃지 렌더링 로직을 수정했습니다.
client.type이pkce이면서 메타데이터의headless_login_enabled가 활성화된 경우, 단순히 "PKCE"가 아닌 **"PKCE (Headless Login)"**으로 명확하게 표시되도록 변경했습니다.
검증 결과
- 프론트엔드:
devfrontPlaywright E2E 테스트 60개 전체 통과 확인. - 백엔드: 관련 핸들러 유닛 테스트 정상 통과 확인.
- 실제 동작: Headless Login 설정 앱 생성 후 목록에서 "PKCE (Headless Login)" 배지가 정상 노출됨을 확인했습니다.