OAuth 자격증명 생성기

Client ID와 Secret, state, nonce, PKCE verifier/challenge를 생성합니다.

🔒모든 처리는 브라우저에서 이루어지며, 파일 및 데이터는 서버로 전송되지 않습니다.

OAuth 번들 생성 설정
클라이언트 유형

랜덤 값 설정

클라이언트 ID 구성

Base64URL로 인코딩됩니다.

선택 메타데이터

입력한 값은 번들에 그대로 포함되며 네트워크 요청에는 사용되지 않습니다.

생성 미리보기

활성 계획

클라이언트 ID, 클라이언트 시크릿, state, nonce

완성된 출력 합계

165

생성 결과

설정을 확인하고 OAuth 번들을 생성하면 결과가 여기에 표시됩니다.

이 도구에 대해

OAuth와 OpenID Connect 흐름에는 서로 목적이 다른 값이 사용됩니다. Client ID는 클라이언트를 식별하고, Client Secret은 안전하게 비밀을 보관할 수 있는 기밀 클라이언트가 인증할 때 사용합니다. state는 인증 요청과 콜백을 연결하는 데, nonce는 OpenID Connect ID 토큰의 재사용을 탐지하는 데 활용됩니다. PKCE는 code_verifier와 그 SHA-256 기반 code_challenge를 이용해 인가 코드 탈취 위험을 줄입니다. 이 도구는 브라우저의 Web Crypto API로 난수와 PKCE S256 챌린지를 생성하지만, 공급자 등록이나 전체 OAuth 구현을 대신하지는 않습니다.

주요 기능

  • 기밀 클라이언트, 공개 클라이언트 및 사용자 지정 생성 프리셋
  • Client ID 템플릿과 Client Secret·state·nonce 길이 설정
  • RFC 7636 범위의 PKCE verifier 및 S256 challenge 생성
  • 인증·토큰 엔드포인트, redirect URI와 scope를 묶어 정리
  • 민감한 결과 마스킹과 항목별 재생성·복사
  • JSON 및 dotenv 형식으로 선택한 값 내보내기

사용 방법

  1. 1실행 환경에 맞춰 기밀 클라이언트 또는 공개 클라이언트 프리셋을 선택하세요. 필요한 항목이 다르면 사용자 지정을 사용하세요.
  2. 2Client ID 템플릿과 각 랜덤 값의 길이를 설정하고, 필요하면 PKCE를 활성화하세요.
  3. 3공급자에 등록할 엔드포인트, redirect URI와 scope를 입력한 뒤 자격증명 묶음을 생성하세요.
  4. 4필요한 필드만 복사하거나 JSON·dotenv로 내보내고, Secret과 verifier는 노출되지 않도록 별도 보관하세요.

자주 묻는 질문

브라우저나 모바일 앱에도 Client Secret을 넣어야 하나요?

아니요. 브라우저 기반 SPA, 네이티브 모바일 앱처럼 배포물에서 값을 추출할 수 있는 공개 클라이언트는 Secret의 기밀성을 유지할 수 없습니다. 공개 클라이언트에는 Client Secret을 발급·내장하지 말고 Authorization Code + PKCE 등 공급자가 지원하는 흐름을 사용하세요.

state, nonce와 PKCE는 서로 대체할 수 있나요?

아닙니다. state는 요청과 콜백의 연관 관계 및 CSRF 방어에, OIDC nonce는 ID 토큰 재사용 탐지에, PKCE는 인가 코드를 교환하는 클라이언트를 연결하는 데 쓰입니다. 사용하는 프로토콜과 공급자 요구사항에 맞춰 각각 생성하고 서버 또는 클라이언트 세션의 원래 값과 검증해야 합니다.

내보낸 .env 내용을 셸에서 source해도 되나요?

안 됩니다. 이 도구의 dotenv 출력은 환경 변수 파일용 데이터이며 셸 명령으로 안전하게 이스케이프된 스크립트가 아닙니다. source, eval 또는 명령 치환에 전달하지 말고, 사용하는 프레임워크나 비밀 관리 도구의 dotenv 파서로 읽으세요.

생성한 값을 그대로 운영 환경에 등록하면 되나요?

먼저 OAuth 공급자의 길이·문자 집합·redirect URI 정책을 확인해야 합니다. Client Secret과 PKCE verifier 등 민감한 값은 로그, 소스 코드, 공개 저장소에 남기지 말고 환경에 맞는 비밀 관리 시스템을 사용하세요. 노출이 의심되면 해당 값을 폐기하고 새로 발급하거나 교체하세요.