1
0
forked from baron/baron-sso
Files
baron-sso/issue_489_completion_summary.md

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.typepkce이면서 메타데이터의 headless_login_enabled가 활성화된 경우, 단순히 "PKCE"가 아닌 **"PKCE (Headless Login)"**으로 명확하게 표시되도록 변경했습니다.

검증 결과

  • 프론트엔드: devfront Playwright E2E 테스트 60개 전체 통과 확인.
  • 백엔드: 관련 핸들러 유닛 테스트 정상 통과 확인.
  • 실제 동작: Headless Login 설정 앱 생성 후 목록에서 "PKCE (Headless Login)" 배지가 정상 노출됨을 확인했습니다.