개발자 / OAuth

PKCE Code Verifier 및 Challenge 생성기

RFC 7636에 따라 OAuth 2.0 PKCE code verifier, 해당 S256 code challenge와 state 값을 생성하거나 기존 verifier를 확인합니다.

PKCE Code Verifier 및 Challenge 생성기: PKCE는 모바일 앱과 싱글 페이지 앱처럼 비밀을 안전하게 보관할 수 없는 앱의 OAuth 인증 코드 흐름을 보호합니다. verifier는 예약되지 않은 문자로 구성된 임의의 문자열이며, 이 도구는 브라우저의 보안 난수 생성기에서 편향 없이 문자를 선택합니다. challenge는 verifier의 SHA-256을 Base64url로 인코딩한 값입니다. 계산 결과는 RFC 7636의 예제와 일치합니다. 서버에 파일을 전혀 업로드하지 않고 브라우저에서 100% 로컬로 실행됩니다.

카테고리
개발자 도구
실행 횟수
브라우저에서
비용
무료 · 가입 불필요
사용 가능 여부
사용 가능
PKCE 코드 verifier 및 challenge 생성기로컬 처리

브라우저에서 전부 실행됩니다

code_verifier—
code_challenge (S256)—
code_challenge_methodS256
state—

인증 요청과 함께 code_challenge 및 code_challenge_method=S256을 보내고, 클라이언트에서 verifier를 비밀로 유지한 후 토큰 요청과 함께 보내십시오. RFC 7636에 정의된 대로 challenge는 verifier의 Base64url SHA-256입니다.

간단한 흐름

앱이 검증자를 만들고 보관한 다음, 로그인 요청과 함께 인증 서버에 챌린지를 보냅니다. 인증 코드를 받으면 검증자와 함께 토큰으로 교환합니다. 공격자가 코드를 가로채도 검증자 없이는 사용할 수 없습니다.

반환된 토큰을 확인하려면 JWT 디코더를 사용하십시오.

이제 어디서나 필수

OAuth 2.1과 현재의 보안 모범 사례는 인증 코드 흐름을 사용하는 모든 클라이언트에 PKCE를 권장합니다. 여기에는 기밀 서버 측 클라이언트도 포함됩니다.

사용 방법

  1. verifier 길이를 43~128자로 선택하고 생성을 누르십시오.
  2. 인증 요청에 code challenge와 method를 복사해 넣으십시오.
  3. token 요청에 사용할 verifier를 보관하십시오. verifier를 붙여 넣으면 해당 challenge를 확인할 수 있습니다.

개인정보 보호 및 제한사항

값은 브라우저에서 생성되며 어디에도 전송되지 않습니다.

관련 도구

자주 묻는 질문

plain과 S256 중 무엇을 사용해야 합니까?

클라이언트가 SHA-256을 계산할 수 있다면 항상 S256을 사용하십시오. 모든 최신 플랫폼에서 계산할 수 있으며, plain은 계산할 수 없는 클라이언트를 위해서만 존재합니다.

state 값은 어떤 용도로 사용합니까?

사이트 간 요청 위조를 방지합니다. 인증 요청과 함께 전송하고 동일한 값이 돌아왔는지 확인하십시오.

verifier는 얼마나 길어야 합니까?

최소 43자여야 하며, 64자 이상이 일반적입니다. 128자까지는 호환성 문제 없이 길이를 늘려 무작위성을 높일 수 있습니다.

무료 도구 · 브라우저에서회 실행 · 계정 불필요