Access Token 발급 API

고객사에서는 "그림 1 NAVER WORKS와 고객사 간 OAuth 2.0 기반 SSO"의 7~8 단계와 "그림 2 OAuth 2.0 기반 API 인증"의 5~6 단계에 해당하는 로직을 구현하여 NAVER WORKS에서 사용할 수 있도록 API로 제공한다. 고객사 SSO 시스템에서 Authorization Code를 검증한 후 Access Token을 발급하여 반환한다.

Request URL {#access-token-request-url}

https://고객사도메인/accessToken

NAVER WORKS의 인프라 보안 정책에 따라 80 혹은 443 포트만 사용할 수 있다.
제작한 Request URL은 Developer Console의 SSO > WORKS as SP 설정에서 Access Token Return API에 등록한다.

그림 13 OAuth 2.0 기반 Access Token API 등록

그림 13 OAuth 2.0 기반 Access Token API 등록

참고

  • Access Token 발급 시, 세션 만료 시간이 expires_in 값에 의해 결정된다. expires_in을 설정하지 않았다면 기본 로그인 시간은 24시간(웹 브라우저), 30일(모바일앱, PC앱)로 설정된다.
    *공공은 1시간(웹 브라우저), 24시간(모바일앱), 30일(PC앱)로 설정

HTTP Method {#access-token-request-method}

POST

Request {#access-token-request-body}

참고

  • API 통신 시 connection timeout은 1초, read timeout은 3초이다.
파라미터타입필수 여부설명
grant_typeStringY인증 과정에 대한 구분값으로 어떠한 형태의 결과값을 받을지 명시.
항상 "authorization_code"라는 고정된 문자열 사용
client_idStringYDeveloper Console에서 등록한 client id값
client_secretStringYDeveloper Console에서 등록한 client secret값
codeStringYAuthorization Code

Response {#access-token-response}

응답 형식은 JSON이다.

속성타입필수 여부설명
access_tokenStringY(성공 시)Access Token
refresh_tokenStringNAccess Token이 만료될 경우 토큰을 재발급받기 위한 토큰
token_typeStringY(성공 시)Access Token의 type.
"Bearer" 고정
expires_inString/IntegerY(성공 시)Access Token의 유효 기간(초).
실제 애플리케이션의 로그인 유지 시간
errorStringY(실패 시)실패 시 반환하는 오류 코드
error_descriptionStringY(실패 시)실패 시 반환하는 오류 설명

오류 코드 {#access-token-response-error-code}

코드메시지설명
101access_denied인가된 클라이언트로부터의 요청이 아님
201invalid_request필수 Request가 누락되었거나, 데이터 형식에 맞지 않음
203unsupported_grant_type지원하지 않는 grant_type
301unauthorized_clientclient id와 secret으로 검증 실패
302invalid_authorizationAuthorization Code 검증 실패