Skip to main content

Concepts


PASSPORT 로그인

PASSPORT 로그인은 PASSPORT 계정으로 다양한 서비스에 로그인할 수 있도록 하는 소셜 로그인 서비스입니다. 이를 통해 복잡한 인증, 인가 과정을 간소화하고 안전하게 처리할 수 있을 뿐만 아니라, 맥스버스에서 제공하는 다양한 API를 사용할 수 있습니다.

note

PASSPORT 로그인 서비스를 사용하기 위해서는 맥스버스 Console에 먼저 애플리케이션을 등록해야 합니다. 로그인 서비스 이용을 위한 기본적인 정보 입력 후, 애플리케이션에서 PASSPORT 로그인 서비스를 사용할 수 있습니다.

PASSPORT 로그인은 OAuth 2.0 의 인가 프레임워크와 OpenID Connect 프로토콜을 사용하여, 사용자를 인증하고 맥스버스 리소스 접근을 위한 권한 제공 기능을 제공하고 있습니다. PASSPORT 로그인을 통해 고객 인증, 인가가 이루어지는 방식은 다음과 같습니다.

NameDescription
인증(Authentication)PASSPORT ID, PW를 통해 사용자의 신원을 확인
인가(Authorization)사용자의 정보 제공 동의를 바탕으로, 사용자의 정보와 맥스버스 API 사용 접근 권한을 토큰의 형태로 발급 및 제공

토큰

PASSPORT 로그인을 통해 인증, 인가 과정이 끝난 사용자의 경우 토큰이 발급되는데 OAuth 2.0 의 규격에 맞게 Access Token, Refresh Token이 발급되며, OpenID Connect 프로토콜을 통해 사용자의 인증이 이루어지기 때문에 ID Token까지 총 3개의 토큰이 발급됩니다.

Access Token

맥스버스 API 호출에 사용되는 토큰입니다. 사용자의 권한 정보가 담겨있습니다. 만료시간은 30분입니다.

Access Token 페이로드
NameTypeDescription
expIntegerAccess Token 만료 시간, UNIX Timestamp
iatIntegerAccess Token 발급 시간, UNIX Timestamp
auth_timeString사용자가 PASSPORT 로그인을 통해 인증을 완료한 시각, UNIX Timestamp
jtiStringJWT 토큰의 unique identifier
issStringAccess Token을 발급한 인증기관의 정보
subString사용자의 고유 사용자 번호
audString클라이언트 ID
typStringAccess Token의 Type
azpString클라이언트 ID
scopeString요청 받은 클라이언트 애플리케이션이 동의를 얻어 노출하는 스코프 집합
sidString사용자 세션의 unique identifier
appString애플리케이션의 ID
preferred_usernameString사용자의 닉네임 (현재 이메일 주소)

Refresh Token

로그아웃, 엑세스 토큰 재발급 시 사용되는 토큰입니다. 만료시간은 6시간입니다.

ID Token

사용자의 인증정보를 제공하는데 사용되는 토큰입니다. 만료시간은 Access Token 과 동일합니다.

ID Token 페이로드
NameTypeDescription
expIntegerID Token 만료 시간, UNIX Timestamp
iatIntegerID Token 발급 시간, UNIX Timestamp
auth_timeString사용자가 PASSPORT 로그인을 통해 인증을 완료한 시각, UNIX Timestamp
jtiStringJWT 토큰의 unique identifier
issStringID Token을 발급한 인증기관의 정보
audString클라이언트 ID
subString사용자의 고유 사용자 번호
typStringID Token의 Type
azpString클라이언트 ID
sidString사용자 세션의 unique identifier
imageString사용자의 이미지
nameString사용자의 이름
preferred_usernameString사용자의 닉네임 (현재 이메일 주소)
emailString사용자의 이메일 주소

서비스 로그인 시퀀스 과정

Step 1. 인가 코드 요청

  1. 서비스 서버에서 인가 코드 요청을 합니다.
  2. PASSPORT 인증 서버는 사용자에게 ID, PW 로그인을 통한 인증을 요청합니다.
  3. 사용자가 로그인 정보를 입력한 뒤, 해당 서비스에 최초 로그인일 경우 PASSPORT 인증 서버는 사용자에게 인가를 위한 사용자 동의를 요청합니다.
  4. 사용자가 동의를 할 경우 혹은 이미 동의를 했을 경우, PASSPORT 인증 서버는 인가 코드 요청 시 전달받은 Redirect URI 로 인가코드를 발급하여 전달합니다.

Step 2. 토큰 요청

  1. 서비스 서버는 발급받은 인가 코드를 통해 토큰 발급을 요청합니다.
  2. PASSPORT 인증 서버는 토큰을 발급해서 토큰 정보를 응답합니다.