피드로 돌아가기
Dev.toSecurity
원문 읽기
Session Cookie 기반의 OIDC Consent Flow 구현 및 제어 로직 설계
Add a Consent Screen to Your OIDC Authorization Server with Hono
AI 요약
Context
기존 OIDC Authorization Code Flow 서버는 사용자 인증 후 즉시 권한을 부여하는 구조로 설계됨. 제3자 애플리케이션이 요청하는 Scope에 대해 사용자가 명시적으로 승인하거나 거부할 수 있는 제어 단계가 부재한 보안적 한계 존재.
Technical Solution
- Login과 Consent 단계를 분리하여 다단계 대화형 Flow로 아키텍처 확장
- 인증 완료 후 짧은 만료 시간을 가진 Server-side Session Cookie를 발행하여 사용자 상태 유지
generateAuthorizationCode콜백을 Control Point로 설계하여continue(동의 화면 표시),code(코드 발행),deny(에러 반환)의 세 가지 상태 제어 로직 구현AuthorizationCodeUser인터페이스 확장을 통해consentStatus필드를 추가함으로써 타입 안정성 확보ParsedData인터페이스에sessionCookie와consent필드를 정의하여 POST 요청 데이터의 구조적 매핑 처리- In-memory Map 기반의 세션 저장소 운영을 통한 인증 단계 간 컨텍스트 브릿징 구현
실천 포인트
1. 다단계 인증 흐름 설계 시 각 단계의 상태를 전이시킬 단기 세션 저장소(Redis 등) 검토
2. 사용자 권한 승인 여부를 결정하는 제어 지점을 단일 콜백 함수로 응집하여 비즈니스 로직 단순화
3. 프로덕션 환경 적용 시 CSRF 토큰 도입 및 세션 쿠키의 Secure/HttpOnly 플래그 설정 필수 검토