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

페이지 이동경로

로그인 정보 API 호출

Adapter API는 카카오 i의 Adapter 서버에 구현되어 있으며, Adapter Agent 서버가 Adapter 서버로 직접 호출합니다.

Adapter API 목록
분류 Capability API 명 설명
Adapter API - getOrgLoginType Adapter Agent 서버를 구현한 고객사의 로그인 방식에 대한 정보를 제공
ex) LDAP, OAuth 2.0, SAML 2.0 등
Adapter API를 호출하는 경우는 다음과 같습니다.
- Adapter Agent 서버에서 로직을 처리하는 중, 카카오 i 서비스 시스템이 가지고 있는 정보가 필요한 경우
- Adapter Agent 서버에서 먼저 Adapter 서버에 요청을 보내야만 하는 경우

getOrgLoginType

getOrgLoginType은 카카오 i 계정 서버와 연동한 각 법인의 로그인 방식 별 고유정보를 제공합니다. Adapter Agent 서버가 카카오 i 계정 관리자 사이트에서 설정한 각 법인의 로그인 방식 별 정보를 획득하고자 할 때 호출합니다.

안내
OrgLoginType에 대한 설명은 OrgLoginType에 따른 분기처리를 참고하시기 바랍니다.

API 호출 시나리오

사용자 동기화

Adapter Agent 서버가 getValidUser 또는 getChangedUser 요청을 받았을 때 Adapter API의 getOrgLoginType API를 호출하여 orgLoginType 정보를 활용할 수 있습니다. 카카오 i 계정 관리자 사이트에서 동기화 옵션 정보를 설정할 수 있습니다. 동기화 옵션의 전체 정보는 getUserMetadata API를 통해 Adapter Agent 서버가 제공하지만, 각 옵션의 활성화 여부는 카카오 i 계정 서버만 알고 있습니다.
Adapter Agent 서버가 getValidUser, getChangedUser를 처리할 때 동기화 옵션 별 활성화 여부값이 필요할 수 있으며, 그 이유는 해당 옵션의 활성화 여부에 따라 응답의 사용자 명단이 바뀔 수 있기 때문입니다.

고객사의 관리자 계정이 카카오 i 계정 관리자 사이트의 계정 연동 설정에서 getOrgLoginType의 응답 예제는 다음과 같습니다.

카카오 i 계정 관리자 시스템 동기화 옵션 그림카카오 i 계정 관리자 시스템 동기화 옵션

코드예제getOrgLoginType Response

{
  "_code": 200,
  "_message": "ok",
  "method": "OAuth2",
  "adapter_agent": "https://xxx.yyy",
  "data_model": {
    "user": {
      "synchronization": {
        "active_options": [
          "except_full_time_employee",
          "except_contract",
          "except_subcontract",
          "except_business_account"
        ]
      }
    }
  }
  // ... 생략
}

위 그림과 같이 고객사의 관리자가 카카오 i 계정 관리자 화면에서 협력업체 제외 옵션을 선택했을 때, Adapter Agent 서버는 응답의 사용자 목록에서 협력업체 직원을 제외해야 합니다. 이때 Adapter Agent 서버는 getOrgLoginType API를 호출해서 얻은 응답에 포함된 동기화 옵션값을 활용하여 getValidUsers, getChangedUsers API의 응답을 적절하게 변경해야 합니다.

OAuth 2.0 로그인

Adapter Agent 서버가 OAuth 2.0을 기반으로 extractUser API를 처리할 때, Adapter API의 getOrgLoginType API를 호출하여 orgLoginType 정보를 활용할 수 있습니다.
고객사의 계정 담당자는 카카오 i 계정 관리자의 OAuth 2.0 계정 연동 설정 화면에서 OAuth 2.0 관련된 값들을 입력할 수 있습니다. 그리고 Adapter Agent 서버는 extractUser API를 처리할 때 요청에 해당하는 사용자 정보를 반환해야 하므로 이 정보가 필요할 수 있습니다.

고객사의 관리자 계정이 카카오 i 계정 관리자 사이트의 계정 연동 설정에서 아래와 같이 설정했을 때 getOrgLoginType의 응답 예제는 다음과 같습니다.

서버 연동 설정 그림서버 연동 설정

코드예제 getOrgLoginType Response

{
  "_code": 200,
  "_message": "ok",
  "method": "OAuth2",
  "adapter_agent": "https://xxx.yyy",
  "data_model": {
    "user": {
      "synchronization": {
        "active_options": [
          "except_full_time_employee",
          "except_contract",
          "except_subcontract",
          "except_business_account"
        ]
      }
    }
  },
  "oauth2": {
    "authorization_endpoint": "https://kakaoi.oauth2.example/oauth/authorize",
    "token_endpoint": "https://kakaoi.oauth2.example/oauth/token",
    "response_type": "authorization_code",
    "client_id": "myClientId",
    "client_secret": "myClientSecret",
    "scopes": ["public", "admin"]
  }
}

위 예제와 같이 getOrgLoginType API을 호출하면 카카오 i 계정 관리자 사이트에 입력한 OAuth 2.0 관련 정보를 획득할 수 있습니다. Adapter Agent 서버는 extractUser API를 처리할 때 이 정보를 활용할 수 있습니다.

이 문서가 만족스러운 이유를 알려주세요.
이 문서에 아쉬운 점을 알려주세요.
평가해주셔서 감사합니다.

더 자세한 의견은 contact.dkt@kakaocorp.com 으로 제보해주세요.