Kakao i Account::개발 프로세스::로그인 정보 API 개발

페이지 이동경로

로그인 정보 API 개발

고객사의 직원들이 고객사의 인증 시스템을 기반으로 카카오 i 서비스를 이용할 수 있도록 Adapter Agent API의 Login Capability를 구현해야 합니다.

Login Capability 구현 시, 고객사의 인증 시스템이 어떤 방식의 인증을 지원하는지에 따라 적절한 계정 타입을 선택하고, identifyUser API 또는 extractUser API를 선택하여 구현합니다. 현재 카카오 i 서비스 시스템은 ID/PW 인증 연동, OAuth2 인증 연동, SAML2 인증 연동 방식을 지원합니다.

Login Capability
분류 Capability API 명 설명
Adapter Agent API Login Capability identifyUser 입력받은 ID와 Password 등이 올바른지 확인
- 인증 방식: ID/PW 인증 연동
- 계정 연동 유형: 기업 계정
extractUser 사용자에 대한 추가 정보를 카카오 i 서비스에 제공
- 인증 방식: OAuth2 연동 또는 SAML2 연동
- 계정 연동 유형: OAuth2 또는 SAML2
안내
- OAuth2 인증 연동과 SAML2 인증 연동 방식을 구현하기 위해서는 고객사에 OAuth2 또는 SAML2 인증 시스템이 구축되어 있어야 합니다.

ID/PW 인증 연동

계정 연동 타입이 기업 계정이며, 고객사의 계정 시스템의 인증 방식이 사용자의 ID와 Password의 정합성을 검증하는 방식일 경우, identifyUser API를 구현하여 카카오 i 서비스에 고객사의 계정 기반 로그인을 연동할 수 있습니다.
identifyUser API는 ID/PW를 기반으로 한 로그인 인증 결과를 반환하는 API로, 인증 표준으로 LDAP을 사용하거나 별도의 인증표준 없이 ID/PW 기반의 검증 시 활용됩니다.

카카오 i 서비스 시스템에서 identifyUser API를 호출하는 시점은 다음과 같습니다.
- 카카오 i 서비스에서 로그인을 수행하는 시점

API 작업 흐름

카카오 i 서비스 시스템에서 identifyUser API를 호출하는 작업 흐름은 다음과 같습니다.

ID/PW 인증 연동 그림ID/PW 인증 연동

  1. 사용자가 카카오 i 서비스의 로그인 화면에서 ID와 Password를 입력합니다.

  2. 카카오 i 계정 서버가 ID와 Password 정보를 포함한 identifyUser 요청을 Adapter 서버로 전송합니다.

  3. Adapter 서버가 Adapter Agent 서버에 구현된 identifyUser API를 호출합니다.

  4. Adapter Agent 서버는 연동된 계정 시스템에 ID와 Password 정합성 여부를 확인합니다.

Adapter Agent 서버 동작 예제

identifyUser API 요청을 받았을 때 Adapter Agent 서버의 동작 예제는 다음과 같습니다.

  1. Adapter Agent 서버로 전달된 ID와 Password(필요 시, 접속 IP 추가)등을 연동된 고객사의 계정 시스템에 전달하여 인증을 수행합니다.
  2. 인증 결과를 응답 포맷에 맞춰 반환합니다.

OAuth2 인증 연동

고객사의 계정 시스템의 인증 방식이 OAuth2일 경우, extractUser API를 구현하여 카카오 i 서비스에 고객사의 계정 기반 로그인을 연동할 수 있습니다.

OAuth2 방식의 경우, extractUser API의 request Payload에 OAuth2 Authorization 및 Authentication 결과로 제공된 authorization_code가 포함됩니다. Adapter Agent 서버에서 authorization_code를 활용하여 고객사 OAuth2 인증 시스템에 토큰 발급 후 해당 토큰의 access_token 정보를 활용하여 고객사 계정 시스템으로부터 사용자 정보를 획득해야 합니다.

안내
Adapter Agent 서버에서 고객사 계정 시스템의 회원정보 조회 API URL을 자체적으로 관리할 수 있지만, 카카오 i 계정 관리자 화면에서 법인별로 등록도 가능합니다. 이 기능은 Adapter Agent 서버가 여러 개의 법인을 관리할 경우에 필요할 수 있습니다.
카카오 i 서비스 시스템에서 extractUser API를 호출하는 시점은 다음과 같습니다.
- 카카오 i 서비스의 사용자가 로그인을 시도하여, 카카오 i 계정 서버에서 고객사 OAuth2 시스템에 인증을 요청하여 성공한 시점

API 작업 흐름

카카오 i 서비스 시스템에서 OAuth2 인증 기반의 extractUser API를 호출하는 작업 흐름은 다음과 같습니다.

OAuth2 연동 그림OAuth2 인증 연동

  1. 고객사 OAuth2 시스템을 통해 인증이 완료되면 authorization_code와 함께 카카오 i 계정 시스템으로 리다이렉트(Redirect)됩니다.

  2. 카카오 i 계정 시스템이 extractUser API 요청을 Adapter 서버로 전송합니다.

  3. Adapter 서버가 Adapter Agent 서버에 구현된 extractUser API를 호출합니다.

  4. Adapter Agent 서버는 extractUser API 요청에 포함된 authorization_code를 사용하여 토큰을 발급 후, 연동된 계정 시스템에서 사용자 정보를 조회합니다.

안내
OAuth2 Common Spec을 구현한 경우, 사용자가 ID와 Password를 입력하여 인증하는 로직은 고객사의 계정 시스템에서 처리됩니다. 따라서 이 경우에는 identifyUser API는 사용하지 않고, extractUser API만 호출합니다.
안내
Adapter Agent 서버에서 고객사 계정 시스템의 회원정보 조회 API URL을 자체적으로 관리할 수 있지만, 카카오 i 계정 관리자 화면에서 법인 별로 등록도 가능합니다. 이 기능은 Adapter Agent 서버가 여러 개의 법인을 관리할 경우 필요할 수 있습니다.

Adapter Agent 서버 동작 예제

extractUser API 요청을 받았을 때 Adapter Agent 서버의 동작 예제는 다음과 같습니다.

  1. Adapter Agent 서버로 전달된 authorization_code 또는 access_token을 활용하여 고객사의 계정 시스템으로부터 해당 사용자의 정보를 조회합니다.

  2. 조회 결과를 응답 포맷에 맞춰 변환합니다.

안내
extractUser API의 Request Body에 authorization_code 또는 access_token 중 어떤 파라미터를 포함할지 여부는 고객사의 OAuth2 인증서버 정책에 따라 결정됩니다.

SAML2 인증 연동

고객사의 계정 시스템의 인증 방식이 SAML2일 경우, extractUser API를 구현하여 카카오 i 서비스에 고객사의 계정 기반 로그인을 연동할 수 있습니다.

SAML2 방식의 경우, extractUser API의 Request Payload에 SAML2 SSO 프로세스가 진행되는 동안 고객사에서 제공한 SAML Response 값을 제공합니다. extractUser API의 Request Payload에 어떤 값을 넣을지 또는 어떤 값으로 사용자를 식별할 것인지에 대해서는 고객사 정책에 맞게 정의할 수 있습니다.

카카오 i 서비스 시스템이 extractUser API를 호출하는 시점은 다음과 같습니다.
- 카카오 i 서비스에서 로그인을 수행하는 시점

API 작업 흐름

카카오 i 서비스 시스템에서 SAML2 인증 기반의 Adapter Agent 서버 extractUser API를 호출하는 작업흐름은 다음과 같습니다.

SAML2 연동 그림SAML2 인증 연동

  1. 고객사 SAML2 시스템을 통해 인증이 완료되면 SAML IDP로부터 받은 SAML Response 데이터(Name ID, SAML Response ID, SAML attributes)와 함께 카카오 i 계정 시스템으로 리다이렉트(Redirect)됩니다.

  2. 카카오 i 계정 서버가 extractUser API 요청을 Adapter 서버로 전송합니다.

  3. Adapter 서버가 Adapter Agent 서버에 구현된 extractUser API를 호출합니다.

  4. Adapter Agent 서버는 extractUser API 요청에 포함된 SAML Response 데이터(Name ID, SAML Response ID, SAML attributes)를 사용하여 연동된 계정 시스템에서 사용자 정보를 조회합니다.

안내
SAML2 스펙을 구현한 경우, 사용자가 ID와 Password를 입력하여 인증하는 로직은 고객사의 계정 시스템에서 처리됩니다. 따라서 이 경우에는 identifyUser API는 사용하지 않고, extractUser API만 호출합니다.

Adapter Agent 서버 동작 예제

extractUser API 요청을 받았을 때 Adapter Agent 서버의 동작 예제는 다음과 같습니다.

  1. Adapter Agent 서버로 전달된 사용자 식별 값을 고객사의 계정 시스템에 전달하여 사용자 정보를 조회합니다.

  2. 조회 결과를 응답 포맷에 맞춰 반환합니다.

안내
API별 상세 레퍼런스는 카카오 i 계정 API 레퍼런스를 참고하시기 바랍니다.
이 문서가 만족스러운 이유를 알려주세요.
이 문서에 아쉬운 점을 알려주세요.
평가해주셔서 감사합니다.

더 자세한 의견은 documentation@kakaoenterprise.com 으로 제보해주세요.