PM-fork 방식의 보안 Headless 로그인 흐름 구현 #6
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?
PM-fork 프로젝트에서 사용하는 보안이 강화된 Headless 로그인 방식을 이 데모 프로젝트에도 동일하게 적용합니다.
주요 요구사항
작업 완료 보고
PM-fork의 인증 아키텍처를 기반으로
headless-login-demo의 로그인 엔진을 전면 개편하였습니다.1. 변경된 인증 메커니즘 (5-Step Secure Flow)
login_challenge를 발급받습니다.client_assertion(JWT)을 생성합니다. (Audience: Headless API Endpoint)redirectTo를 추적하여 OIDCauthorization_code를 획득합니다.private_key_jwt인증 방식을 사용하여 획득한 코드를 최종 토큰(ID/Access Token)으로 교환합니다.2. 주요 수정 사항
jose패키지를 추가하였습니다.server.js: 단순oidcClient.grant호출 로직을 위 5단계 흐름을 따르는 비동기 로직으로 교체하였습니다.client_assertion을 요구하도록 하여 클라이언트의 신원을 보증합니다.3. 확인 사항
sso-test.hmac.kr또는 운영 서버)에서 로그인이 정상적으로 수행되는 것을 확인하였습니다.