피드로 돌아가기
Dev.toSecurity
원문 읽기
Bun과 Hono 기반의 Stateless OIDC Authorization Server 설계
Build an Authorization Server with Bun, Hono, and OpenID Connect
AI 요약
Context
외부 Identity Provider 의존성을 제거하고 자체 인증 서버를 구축하여 마이크로서비스 환경의 인증 제어권을 확보하려는 요구사항 분석. 기존의 호스팅 서비스 이용 시 발생하는 벤더 종속성 및 내부 툴링 최적화의 한계를 해결하기 위한 설계 추진.
Technical Solution
- Bun 런타임과 Hono 프레임워크를 통한 경량화된 Authorization Server 구축
- JoseJwksAuthority와 JwksRotator를 활용한 JWT 서명 키의 자동 생성 및 주기적 교체 구조 설계
- PKCE(Proof Key for Code Exchange) 지원을 통한 Public Client의 보안성 강화
- /.well-known/openid-configuration 및 jwks.json 엔드포인트를 통한 OIDC 표준 Discovery 메커니즘 구현
- Resource Server가 JWKS 엔드포인트를 통해 공개키를 직접 조회하는 Stateless한 토큰 검증 아키텍처 채택
- Scalar UI와 OpenAPI 스펙 통합을 통한 API 테스트 및 문서화 자동화
실천 포인트
1. Production 환경 도입 시 In-memory Key Store를 PostgreSQL이나 Redis 등 영구 저장소로 대체할 것
2. Resource Server 설계 시 별도의 DB 공유 없이 JWK Middleware를 통한 분산 검증 구조를 검토할 것
3. 보안 강화를 위해 91일 주기 등의 Key Rotation 정책을 수립하고 구현할 것
4. Public Client의 Authorization Code Flow 적용 시 PKCE 필수 적용 여부를 확인할 것