인증 코드 요청

인증 코드(Authorization Code) 획득 방법에 대해 설명합니다.

인증 코드 요청 전에는 다음과 같은 사항이 필요합니다.

① 개발자 어드민에 앱이 등록되어 있어야 합니다. 앱 생성 방법

② Redirect URI 및 Scope 정보가 설정되어 있어야 합니다. 필수 정보 등록

③ 클라이언트 계정 정보를 확인해야 합니다. 클라이언트 아이디/ 시크릿키

인증 코드 Request

  • 인증 코드 요청은 웹 브라우저 환경 에서 이루어집니다.
Note!

인증 코드는 발급 후 1분이 경과하면 만료되므로 주의하시기 바랍니다.

인증 코드 Request 형식

https://{mall_id}.cafe24api.com/api/v2/oauth/authorize?response_type=code&client_id={client_id}&state={encode_csrf_token}
&redirect_uri={encode_redirect_uri}&scope={scope}
샘플 보기
https://samplemall.cafe24api.com/api/v2/oauth/authorize?response_type=code&client_id=sample7eBNEqSfkd7I8hoA
&state=MTIzNDU2Nzg=&redirect_uri=https://sampleapp.com/oauth/redirect&scope=mall.read_application,mall.write_application

파라미터 정보

파라미터 정보
파라미터 필수여부 설명
response_type 필수 인증 형식입니다. "code"로 입력하세요.
client_id 필수 앱 생성시 발급받은 클라이언트 아이디입니다. 클라이언트 아이디 확인 방법
state 권장 사이트 간 요청 위조(CSRF) 공격을 방지하기 위한 값입니다. Client-side에서 임의의 문자열을 생성하여 입력하세요. 또한 사용자 정의의 데이터를 입력하여 그대로 응답받는 목적으로도 사용할 수 있습니다.
redirect_uri 필수 인증 코드를 전달받을 Redirect URI를 입력하세요.
[개발자 어드민 > 앱 기본정보 등록] 화면에서 입력한 Redirect URI 중 하나와 정확하게 일치해야 합니다.
scope 필수 앱에서 사용하는 API를 기준으로 권한 정보를 입력하세요. Scope별 권한 확인하기
Scope는 [개발자 어드민 > 앱 기본정보 등록] 화면의 [권한관리] 에서 선택된 항목에 한해 입력 가능합니다.
확인해주세요!
  • 권한이 여러 개인 경우에는 띄어쓰기로 연결하여 입력하세요.
  • 예) 앱 읽기 + 쓰기권한, 상품분류 읽기권한을 포함하는 경우
  • mall.read_application mall.write_application mall.read_category
  • 콤마(,)로 연결하셔도 사용할 수 있습니다.
  • mall.read_application,mall.write_application,mall.read_category
code_challenge 필수
(PKCE 활성화시)
Native app의 경우

① PKCE 사용을 권장합니다.
② PKCE 사용할 경우, 추가 정보(code_challenge, code_challenge_method)가 필요합니다.

base64_urlencode(SHA256(ASCII(code_verifier))) 문자열
Code Verifier는 위 규칙에 따라 매 코드 발급 시마다 랜덤하게 생성해야 합니다.
code_verifier
  • Base64 URL encoded alphanumeric string of characters
  • 최소 43자, 최대 128자
  • 포맷 (정규식) : [A-Za-z0-9-._~]{43,128}
  • 예) jWJS7olsI78LF-hcNHO1QBMqVX06iN5Z837vD6UXO3g
  • 참조: PKCE Authorization Request
code_challenge_method 필수
(PKCE 활성화시)
"S256" 입력하세요.

인증 코드 Response

인증 코드 Response 형식

HTTP/1.1 302 Found
Location: {redirect_uri}?code={authorization_code}&state={encode_csrf_token}
샘플 보기
HTTP/1.1 302 Found
Location: https://sample-app.com/oauth/redirect?code=sampleXeWS9W5q08ybH1XHS&state=MTIzNDU2Nzg=

파라미터 정보

파라미터 정보
파라미터 설명
code Request에 성공하면 반환받는 인증 코드(Authorization code)입니다.
액세스 토큰(Access Token)을 발급할 때 필수 값으로 사용됩니다.
state Request 시 전송한 state 값과 동일한 값이 반환됩니다.
이 값과 최초 생성되었던 Client-side의 값을 비교하여 CSRF 공격에 대한 무결성을 검증할 수 있습니다. 또한 사용자 정의 데이터를 입력하여 그대로 응답받는 목적으로 사용할 수 있습니다.

에러 코드 안내

  • Request에 실패하면 에러 코드를 반환합니다.

에러 코드 Response 형식

HTTP/1.1 302 Found
Location: {redirect_uri}?error={error}&state={encode_csrf_token}&trace_id={trace_id}
샘플 보기
HTTP/1.1 302 Found
Location: https://sample-app.com/oauth/redirect?error=invalid_scope&state=MTIzNDU2Nzg=
&trace_id=sample5d0f9954be49af24560deda83d

파라미터 정보

파라미터 정보
파라미터 설명
error OAuth 2.0 Framework Standard 4.1에 정의된 에러 코드값입니다.
trace_id 오류를 추적하기 위한 고유 번호입니다.

에러 코드 안내

  • 에러 코드 별 설명 및 그에 따른 대응 방법을 안내합니다.
파라미터 정보
에러 코드 설명 대응 방법
invalid_request client_id/ redirect_uri/ scope 값을 누락한 경우 누락된 값을 확인하여 입력하세요.
잘못된 client_id/ redirect_uri/ scope 값인 경우 요청한 값이 개발자 어드민에서 등록한 앱 기본정보의 각 항목과 일치하는지 확인하세요.
access_denied 권한이 없는 관리자 계정으로 요청한 경우 앱 사용자가 대표 운영자 계정으로 로그인할 수 있도록 안내하세요.
unsupported_response_type response_type 값이 누락되거나 "code"가 아닐경우 "response_type=code" 로 되어있는지 확인하세요.
invalid_scope Scope가 일치하지 않거나, 잘못된 형식인 경우 요청한 Scope가 [개발자 어드민 > 앱 기본정보 등록] 화면의 [권한관리] 항목과 동일한지 확인하세요.

다음 문서

  • 획득한 인증 코드로 액세스 토큰(Access Token)을 발급할 수 있습니다.

액세스 토큰 발급

이 페이지가 얼마나 도움이 되었나요?
도움안됨
도움됨
0자 입력 /최대 300자