본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

stubIdP

0

stubIdP는 CerberAuth에서 제공하는 가상의 OpenID Connect 서버로, 개발자가 로컬 또는 CI 환경에서 인증 흐름을 테스트할 수 있도록 설계되었습니다.

개발자 도구인증 테스트

소개

stubIdP는 CerberAuth에서 제공하는 가상의 OpenID Connect 서버로, 개발자가 로컬 또는 CI 환경에서 인증 흐름을 테스트할 수 있도록 설계되었습니다. 이 도구는 실제 ID 공급자를 기다리지 않고도 OAuth 2.0 및 OpenID Connect 인증을 시뮬레이션하여 애플리케이션 개발에 집중할 수 있게 해줍니다. MIT 라이선스로 배포되며, TypeScript로 작성된 오픈소스 프로젝트입니다. 주요 사용 사례는 개발 및 테스트 환경에서의 인증 프로세스 검증이며, production 환경에서의 사용은 권장되지 않습니다.

상세정보

로컬 개발을 위한 빠른 시작

단일 클라이언트 로컬 개발 시, 다음 명령어로 stubIdP를 실행할 수 있습니다:

npx @cerberauth/stubidp –redirect-uri http://localhost:8080/callback

클라이언트 ID와 시크릿은 생략 시 자동으로 생성되어 시작 시 출력됩니다.

동적 클라이언트 등록 (RFC 7591/7592)

stubIdP는 동적 클라이언트 등록을 지원하여, 서버 재시작 없이 클라이언트를 등록할 수 있습니다. 등록을 활성화하려면:

npx @cerberauth/stubidp –enable-registration

등록된 클라이언트는 POST /register 엔드포인트를 통해 생성할 수 있으며, 응답으로 client_id, client_secret, registration_access_token을 받습니다.

헤드리스 인증 및 E2E 테스트 지원

자동화된 테스트를 위해 로그인 및 동의 UI를 건너뛸 수 있습니다:

STUBIDP_SKIP_PROMPT=true stubidp –redirect-uri http://localhost:3000/callback

로그아웃 후 리디렉션 URI를 설정하려면:

STUBIDP_SKIP_PROMPT=true STUBIDP_POST_LOGOUT_REDIRECT_URI=http://localhost:3000 stubidp –redirect-uri http://localhost:3000/callback

JWT 액세스 토큰 및 ID 토큰 커스터마이징

액세스 토큰을 JWT 형식으로 발행하려면:

STUBIDP_ACCESS_TOKEN_FORMAT=jwt stubidp –redirect-uri http://localhost:3000/callback

ID 토큰에 사용자 정보를 포함하려면:

STUBIDP_ID_TOKEN_INCLUDES_USERINFO_CLAIMS=true STUBIDP_DEFAULT_USER='{“sub”:”alice”,”email”:”[email protected]”,”email_verified”:true}’ stubidp –redirect-uri http://localhost:3000/callback

Docker 및 Cloudflare Workers 배포

Docker로 실행:

docker run -p 8484:8484 cerberauth/stubidp:latest –redirect-uri http://localhost:3000/callback

Cloudflare Workers에 한 번의 클릭으로 배포 가능하며, D1 영구 스토리지가 포함됩니다.

이런 경우에 유용합니다

OAuth 2.0 또는 OpenID Connect 인증을 사용하는 애플리케이션을 개발하는 개발자는 stubIdP를 통해 실제 ID 공급자 없이도 인증 흐름을 로컬에서 테스트할 수 있습니다. 특히 CI/CD 파이프라인에서 자동화된 엔드투엔드 테스트를 구축할 때, 로그인 및 동의 UI를 건너뛰는 헤드리스 모드가 유용합니다. 또한, 동적 클라이언트 등록 기능을 통해 여러 서비스가 동일한 테스트 환경에서 독립적으로 클라이언트를 등록하고 관리할 수 있습니다.

제한 사항·확인 사항

  • stubIdP는 개발 및 테스트 목적으로만 설계되었으며, production 환경에서의 사용은 보안상 권장되지 않습니다.
  • 사용자 관리 기능이 제공되지 않으며, 인증 흐름만 처리하고 실제 사용자 인증은 애플리케이션 측에서 담당해야 합니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.