웹 개발/웹 아키텍처

OAuth 2.0 PKCE 확장

ecofinder 2024. 2. 2. 17:20
반응형

OAuth 2.0

1. OAuth 2.0 PKCE(Proof Key for Code Exchange)

기존 Authorization Code Grant 방식에서 Accesstoken 요청 단계 중 client_secret의 보안성을 높이기 위해 고안된 기술이다.

2. 동작 방식

  1. 클라이언트 애플리케이션이 인증 서버 요청 시, code_challenge, code_challenge_method라는 새로운 파라미터를 함께 전송한다.
code_challenge: code_verifier를 변환한 결과물
Code Verifier를 선택한 Hash 알고리즘으로 해싱, Base64 인코딩한 값
ex) base64encode(sha256(code_verifier))
code_challenge_method: code_challenge를 어떤 방식으로 변환할 것인지를 지정
  1. 인증 서버는 사용자 인증 요청 전, 클라이언트가 전송한 code_challenge를 변환하여 저장한다.
  2. 클라이언트가 Authorization Code를 요청할 때 client_secret 대신 code_verifier라는 새로운 파라미터를 전송한다.
code_verifier: 클라이언트 애플리케이션이 생성한 무작위 문자열
- 최소 43자 이상 128자 이하의 길이
- 영어 대문자, 소문자, 숫자, '.', '-', '_', '~' 문자 사용
  1. 인증 서버는 Authorization Code를 발급할 때, 클라이언트 애플리케이션이 전송한 code_verifier와 저장된 code_challenge를 비교하여 일치하는지 확인한다.

 

 

COUPANG

쿠팡은 로켓배송

www.coupang.com

이 포스팅은 쿠팡 파트너스의 활동의 일환으로, 일정한 금액의 수수료를 받게됩니다.

반응형