본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

관련사이트

사이드 메뉴

플랫폼 API

API 제공

전용 API

어드민 API

이 문서는 카카오 또는 공동체 서비스용 카카오 로그인과 관련 API를 소개합니다. 공통 설명은 오픈 문서를 참고합니다.

인하우스 앱은 카카오 로그인 시 동의 화면 출력 및 사용자 동의 과정을 생략합니다. 단, 동의 화면이 출력되지 않더라도 사용자 정보 및 기능 제공을 위해 동의항목 설정이 필요합니다. 인하우스 앱에 설정된 동의항목에 대한 사용자 동의는 아래와 같이 처리됩니다.

  • 연결(첫 카카오 로그인) 시
    • [필수 동의], [선택 동의] 동의항목에 대해 자동 동의 처리
    • 카카오계정에 수집되지 않은 정보도 자동으로 동의 처리되지만, 사용자가 해당 정보를 계정에 등록해야 사용자 정보 조회 API 응답에 포함됨
  • 연결 이후
    • 앱에 추가로 설정했거나 앱과 최초 연결 시 동의받지 못해 미동의 상태인 동의항목이 있는 경우, 자동 동의 처리
    • 기존에 연결된 사용자에게 미동의 동의항목이 있는 경우, 카카오계정에 정보가 등록되어도 사용자의 인증 요청 전까지는 동의 처리되지 않음

카카오 통합 서비스 약관을 벗어나는 목적으로 개인정보 수집 및 이용이 필요한 경우 아래 절차로 사용자 동의를 받을 수 있습니다.

  1. 개인정보보호 아지트에서 수집하고자 하는 개인정보 및 목적에 대한 검토 요청 및 승인 완료
  2. [서비스] API플랫폼 아지트로 승인 내역과 함께 내용 전달
  3. API플랫폼 내부 처리 후, [개인정보 수집 및 이용 동의] 항목으로 동의 화면에서 사용자 동의 가능
필수 동의 설정

동의 단계별 동작에 따라 사용자 동의가 누락되는 것을 방지하기 위해, 인하우스 앱은 동의항목의 동의 단계를 [필수 동의]로 설정해야 합니다. 인하우스 앱의 동의항목 설정을 참고합니다.

서비스 약관 동의

서비스 약관 동의가 필요한 경우, 인하우스 앱이라도 동의 화면이 출력될 수 있습니다.

인하우스 앱이라도 카카오계정 직접 연동과 같이 카카오 로그인이 아닌 사용자 인증 방식을 사용한다면 아래 기능을 직접 구현해야 합니다.

카카오 또는 공동체 서비스 사용자의 앱 연결 상태는 아래 세 종류로 구분됩니다.

상태설명
연결
(REGISTERED)
카카오 로그인 또는 수동 연결로 앱과 연결된 사용자
연결 대기
(PREREGISTERED)
자동 연결을 사용하지 않는 앱에서, 카카오 로그인 후 수동 연결 API를 요청하지 않아 앱과 연결되지 않은 사용자
연결 없음
(NONE)
회원번호 사전 발급으로 회원번호가 발급되어 ID 정보는 조회 가능하지만, 앱과 연결되지 않은 사용자
연결 상태 관리

카카오 로그인을 사용하는 카카오 또는 공동체 서비스는 서비스 가입 상태와 앱 연결 상태를 동일하게 관리해야 합니다.

연결된 서비스 관리의 기능과 화면 설명은 연결된 서비스 관리에서 확인할 수 있습니다. 연결된 서비스 관리의 [카카오 서비스], [제휴 서비스], [외부 서비스] 분류 기준은 아래를 참고합니다.

서비스 유형설명
카카오 서비스(Kakao Services)카카오의 서비스입니다. 인하우스 앱이 노출되는 영역입니다.
제휴 서비스(Partner Services)카카오 공동체의 서비스, 카카오 및 카카오 공동체와 제휴를 맺은 서비스입니다. 카카오뱅크, 카카오페이, 카카오쇼핑, 카카오T, 카카오내비, 여러 카카오게임들과 제휴 서비스들이 해당합니다.
외부 서비스(Other Services)오픈 API나 기타 제휴를 맺고 카카오 로그인을 사용하는 서비스입니다.

자동 연결 기능을 사용하지 않도록 설정한 서비스에서 원하는 시점에 사용자와 앱을 수동으로 연결하는 기능입니다. 개발 문서는 수동 연결 API에서 확인할 수 있습니다.

인하우스 앱, 또는 공동체 앱은 별도 권한 신청 없이 수동 연결 설정을 사용할 수 있습니다. 설정 방법은 로그인 시 앱 자동 연결을 참고합니다.

수동 연결을 사용하는 서비스는 사용자의 서비스 가입 상태와 앱 연결 상태가 서로 일치하는지 확인하고 직접 수동 연결, 연결 해제 API로 연결 상태를 관리해야 합니다. 불가피한 경우가 아니라면 기본 설정인 자동 연결 사용을 권장합니다.

  • 사용자가 카카오 로그인을 완료해도 바로 서비스 가입이 완료되지 않는 경우
    • 서비스 가입에 정보 입력이나 인증과 같은 추가 가입 절차 필요
    • 서비스 가입을 일정 주기로 승인
  • 서비스 가입 상태와 카카오디벨로퍼스 앱 연결 상태를 동일하게 관리하고 싶은 경우
    • 사용자 로그인 수단으로 카카오 로그인만 도입해 사용 중인 서비스
  • 이 외, 서비스에서 사용자의 앱 연결 상태를 직접 관리해야 할 필요가 있는 경우

수동 연결 사용 여부에 따라 카카오계정 웹사이트의 [계정 이용] 또는 카카오톡의 [설정] > [개인/보안]의 [연결된 서비스 관리]에 앱이 노출되는 시점이 다릅니다. 아래 내용을 참고합니다.

  • 자동 연결 설정: 사용자가 카카오 로그인으로 사용자 동의 및 토큰 발급을 완료했을 때
  • 수동 연결 설정: 서비스가 사용자의 가입 절차를 모두 완료한 뒤 수동 연결 API로 연결 완료했을 때

아래는 사용자 탈퇴 또는 연결 해제 시 필요한 조치입니다.

구분탈퇴 및 연결 해제 경로필요한 조치
서비스 내부서비스 회원 탈퇴 메뉴,
고객센터에서 서비스 탈퇴 요청

참고: App Store 심사 지침에 따라 iOS 앱을 제공하는 서비스는 소셜 로그인 사용 시 앱 내 소셜 로그인 연동 해제 및 서비스 탈퇴 기능 제공 필수, 2022년 1월 31일 제출 앱부터 적용
연결 해제 API 호출(카카오 및 공동체 서비스 필수):
서비스 탈퇴 시, 해당 사용자 카카오계정과 서비스 앱의 연결을 끊어야 함
연결 해제 API 미호출 시 카카오 API 플랫폼은 사용자가 해당 앱을 사용(가입) 중인 것으로 인지
서비스 외부카카오톡 또는 카카오계정 페이지의 연결된 서비스 관리 메뉴,
일간 가입 미완료 사용자 연결 해제 처리(참고),
카카오계정 탈퇴
연결 해제 웹훅(카카오 및 공동체 서비스 필수):
사용자가 서비스 외부에서 연결 해제를 요청할 경우의 처리 방법 설정
아래 기능 포함

참고: 연결 해제 설정에 따른 UI 및 동작

인하우스 앱도 동의항목을 설정해야 합니다. 인하우스 앱은 비공개 동의항목, 별도 권한이 필요한 일부 동의항목을 제외한 모든 동의항목을 사용할 수 있습니다.

인하우스 앱의 동의항목은 서비스에 반드시 필요한 항목만 설정해야 합니다. 각 동의항목의 동의 단계는 [필수 동의]로 설정합니다.

동의항목 추가 동의 요청

서비스 운영 중 추가 설정한 동의항목이거나, 사용자가 카카오 로그인 및 서비스 가입 시 동의하지 않은 동의항목이라도 동의항목 추가 동의 요청 API로 동의받을 수 있습니다.

카카오 및 공동체 서비스에는 오픈 API보다 다양한 개인정보 동의항목을 제공합니다. 오픈 API에 제공하는 개인정보 동의항목은 개인정보 동의항목에서 확인할 수 있습니다.

  • 개인정보 동의항목은 모두 필수 동의 설정이 가능하지만, 일부 동의항목은 필수 설정을 위한 권한이 필요합니다.
Deprecated
: 신규 앱에는 더 이상 제공하지 않는 동의항목
동의항목ID사용 API수집 후 제공 지원
닉네임profile_nickname사용자 정보 조회
카카오톡 프로필 조회
피커: 친구 선택
피커: 채팅방 멤버 선택
피커: 친구 또는 채팅방 선택
피커: 친구 또는 채팅방 멤버 선택
X
프로필 사진profile_image사용자 정보 조회
카카오톡 프로필 조회
피커: 친구 선택
피커: 채팅방 멤버 선택
피커: 친구 또는 채팅방 선택
피커: 친구 또는 채팅방 멤버 선택
X
프로필 정보(닉네임/프로필 사진)
Deprecated
profile사용자 정보 조회
카카오톡 프로필 조회
피커: 친구 선택
피커: 채팅방 멤버 선택
피커: 친구 또는 채팅방 선택
피커: 친구 또는 채팅방 멤버 선택
X
카카오계정(이메일)account_email사용자 정보 조회O
이름name사용자 정보 조회O
성별gender사용자 정보 조회O
연령대age_range사용자 정보 조회O
생일birthday사용자 정보 조회O
출생 연도birthyear사용자 정보 조회O
카카오계정(전화번호)phone_number사용자 정보 조회X
CI(연계정보)account_ci사용자 정보 조회
연령인증 정보 조회
O
본인확인정보(이름)legal_name사용자 정보 조회O
본인확인정보(생년월일)legal_birth_date사용자 정보 조회O
본인확인정보(성별)legal_gender사용자 정보 조회O
본인확인정보(내/외국인)is_korean사용자 정보 조회O
카카오계정 가입일자account_creation_date사용자 정보 조회X
카카오톡 서비스 가입 여부is_kakaotalk_user사용자 정보 조회X
카카오 서비스 내 친구목록(프로필사진, 닉네임, 즐겨찾기 포함)friends카카오톡 친구 목록 조회
피커: 친구 선택
피커: 친구 또는 채팅방 선택
피커: 친구 또는 채팅방 멤버 선택
X
카카오톡 채널 추가 상태 및 내역plusfriends카카오톡 채널 관계 조회X
배송지정보(수령인명, 배송지 주소, 전화번호)shipping_address배송지 조회O
계정 상태 변경 이벤트 정보 제공openid_sse계정 상태 변경 웹훅X
서비스 이용내역으로 추정한 정보(연령대,성별)estimated_age_gender공동체 앱: 사용자 분석 데이터 조회X
서비스 이용내역으로 추정한 정보(관심사)estimated_interests공동체 앱: 사용자 분석 데이터 조회X
금융데이터 분석 및 활용을 위한 데이터 제공privacy_data_for_pay카카오톡 채널 관계 조회
공동체 앱: 사용자 분석 데이터 조회
카카오페이: 사용자 통계 조회
X
카카오 선물하기 서비스의 최근 12개월 이용정보(상품유형, 구매 횟수/목적/시간/금액, 환불/취소 횟수, 지불방법, 선물 수신/발신자 수 등)gift_history카카오뱅크: 카카오 선물하기 서비스 이용 내역 조회X

카카오 및 공동체 서비스에는 오픈 API보다 다양한 접근권한 동의항목을 제공합니다. 오픈 API에 제공하는 접근권한 동의항목은 접근권한 동의항목에서 확인할 수 있습니다.

동의항목ID사용 API
카카오톡 챗방 목록talk_chats채팅방 목록 조회
채팅방 멤버 조회
읽지 않은 채팅방 목록 조회
피커: 채팅방 선택
피커: 채팅방 멤버 선택
피커: 친구 또는 채팅방 선택
피커: 친구 또는 채팅방 멤버 선택
카카오톡 메시지 전송talk_message카카오톡 메시지 전체
톡캘린더 및 일정 생성, 조회, 편집/삭제talk_calendar
talk_calendar_advanced*
톡캘린더 캘린더 및 일정
톡캘린더 내 할 일 생성, 조회, 편집/삭제talk_calendar_task
talk_calendar_task_advanced*
톡캘린더 할 일
카카오톡 오픈채팅 참여 및 관리talk_openchats카카오톡 오픈채팅 전체
구매한 이모티콘 목록emoticon-
* 추가 권한 보유 시에만 제공, 이용 정책 참고

카카오 또는 공동체 서비스에 제공하는 피커 기능에 대한 안내는 피커에서 확인할 수 있습니다.

카카오 로그인을 사용하는 카카오 서비스는 연령인증 기능을 사용할 수 있습니다. 공동체 서비스는 연령인증 기능을 사용할 수 없습니다.

연령인증 정보는 사용자의 카카오계정에 저장되고, 카카오 서비스는 카카오계정에 저장된 연령인증 정보를 활용할 수 있습니다. 사용자 카카오계정에 저장된 연령인증 정보가 없거나 서비스의 연령인증 조건을 만족하지 않아 연령인증이 필요한 경우, 인하우스 앱: 연령인증 페이지 호출로 연령인증을 요청할 수 있습니다. (예: 사용자 연령인증 정보 초기화, 서비스의 연령제한 변경)

인증 방식서비스 연령 제한연령인증 설정카카오 로그인 시 동의항목 표시
A. 강제 연령인증:
앱 연결 시 연령인증을 강제하는 방식(Eager age authentication)
있음연령인증 레벨(1차, 2차) 및 제한 연령 설정
API플랫폼에서 eager 설정 필요
설정된 제한 연령
B. 필요 시 연령인증:
필요 시점에 연령인증을 요청하는 방식(Lazy authentication)
서비스 콘텐츠 일부 제한연령인증 레벨 및 제한 연령
API플랫폼에서 lazy 설정 필요
설정된 제한 연령
C. 앱 설정 없음:
사전 설정 없이 연령인증을 요청하는 방식
서비스 콘텐츠 일부 제한설정 없음표시 없음
  • 서비스 전체에 연령제한이 있는 경우로 사용자는 앱 연결 시 연령인증을 필수로 해야 합니다.
  • 카카오 로그인 시, 앱에 설정된 연령인증 조건에 맞지 않으면 연령인증 페이지가 출력되고, 연령인증이 정상적으로 완료되면 가입 처리를 해야 합니다.
  • 앱에 제한 연령 설정을 하려면 수동 연결을 설정하고, 가입 처리 시 직접 수동 연결 API를 호출해 사용자와 앱을 연결해야 합니다.
  • 이 방식을 사용하는 앱은 제한 연령에 맞는 사용자만 연결할 수 있습니다. 연령인증을 완료하지 않은 사용자를 대상으로 수동 연결 API 요청 시, RequiredAgeVerificationException 에러가 발생합니다.
  • 사용자가 앱 연결 시 연령인증을 필수로 거쳐야 하지 않지만, 서비스 전체에 연령제한이 있는 경우로써 연령인증이 필요한 서비스 콘텐츠 접근 시 연령인증을 해야 합니다.
  • 서비스는 사용자가 연령인증이 필요한 서비스 콘텐츠에 접근했을 때 인하우스 앱: 연령인증 정보 조회 API로 해당 사용자의 연령인증 정보를 확인합니다.
    • 확인 결과, 사용자 카카오계정에 저장된 연령인증 정보가 없거나 서비스의 연령인증 조건을 만족하지 않아 연령인증이 필요한 경우 인하우스 앱: 연령인증 페이지 호출을 요청합니다.
    • 사용자의 연령인증 정보를 확인해 연령인증 필요 여부를 판단하지 않고 연령인증 페이지를 호출할 경우, 사용자가 매번 새로 연령인증을 받게 되므로 주의합니다.
  • A. 강제 연령인증 방식과 달리 카카오 로그인 시 연령인증을 수행하지 않고, 필요 시점에 요청할 것이므로 연령인증에 lazy 설정을 해야 합니다.
  • 앱에 제한 연령 설정을 하려면 수동 연결을 설정하고, 가입 처리 시 직접 수동 연결 API를 호출해 사용자와 앱을 연결해야 합니다.
  • 서비스 전체에 연령제한이 있지 않고, 일부 콘텐츠에만 연령제한을 적용하는 경우입니다.
  • 서비스는 연령인증이 필요할 때 인하우스 앱: 연령인증 정보 조회 API로 해당 사용자의 연령인증 정보를 확인하고, 연령인증이 필요할 경우 인하우스 앱: 연령인증 페이지 호출 API로 사용자에게 연령인증을 요청합니다.
  • 사용자의 연령인증 정보를 확인해 연령인증 필요 여부를 판단하지 않고 연령인증 페이지를 호출할 경우, 사용자가 매번 새로 연령인증을 받게 되므로 주의합니다.

앱에 설정된 연령인증 방식에 따라 아래와 같이 확인할 수 있습니다.

  • A. 강제 연령인증
    • 서비스에서 수동 연결 API 호출 시, 카카오 API 플랫폼이 연령인증 조건 충족 여부를 확인합니다. 사용자의 연령인증 정보가 초기화되었거나 서비스의 연령인증 조건을 만족하지 않으면 에러를 반환합니다.
  • B. 필요 시 연령인증
  • C. 앱 설정 없음
    • 서비스에서 인하우스 앱: 연령인증 정보 조회를 호출해 사용자의 연령인증 정보를 자체적으로 확인합니다.
    • 이밖에 서비스 특성에 맞는 조건들로 연령인증 조건 만족 여부를 자체적으로 판단해야 합니다.

서비스에서 필요한 상황이거나 연령인증 조건 만족 기준을 만족하지 않아 에러가 발생한 경우 인하우스 앱: 연령인증 페이지 호출를 사용해 연령인증을 수행합니다. 아래 내용을 참고합니다.

앱에 설정된 연령인증 방식에 따라 연령인증 여부가 다릅니다. 앱에 연령인증 설정이 없거나 필요 시 연령인증 설정이 있을 때는 서비스 가입을 위해 연령인증 페이지를 호출할 필요가 없습니다. 필요 시 서비스는 연령인증 정보 조회로 연령인증 정보 확인 후 연령인증을 요청할 수 있습니다.

하지만 앱에 A. 강제 연령인증 방식(eager)이 적용되어 있다면, 서비스 가입을 위해 연령인증 페이지 호출이 반드시 필요할 수 있습니다. A. 강제 연령인증 방식을 사용하는 서비스에서 가입 시 연령인증 페이지를 호출해야 하는 경우는 아래와 같습니다.

  1. 사용자가 카카오 로그인 동의 화면에서 앱에 설정된 제한 연령 이상임을 확인
    • 인하우스 앱의 경우, 동의 화면이 출력되지 않으므로 제한 연령이 노출되지 않음
  2. 사용자 정보 조회 API 응답의 연결 여부(has_signed_up) 필드 값이 false라면 수동 연결 API 호출
    • A. 강제 연령인증 방식의 경우, 수동 연결 설정을 사용하므로 가입 처리 시 사용자 정보 조회 API를 호출해 가입에 필요한 정보와 연결 여부 확인 필요
  3. 수동 연결 API 호출 시, 사용자의 연령인증 정보가 연령인증 조건 만족 기준을 만족하지 않으면 에러가 반환되며, 해당 에러가 -405 RequiredAgeVerificationException인 경우 연령인증 페이지 호출

사용자가 서비스에 가입해 앱과 연결된 후에도 서비스의 필요에 따라 연령인증 페이지를 다시 호출할 수 있습니다. 또한 연령인증이 필요한 사용자일 경우 RequiredAgeVerificationException 에러를 반환해 서비스에서 연령인증 페이지 호출을 요청하도록 안내합니다. 아래 내용을 참고합니다.

  1. 앱에 설정된 연령인증 방식에 따라 아래와 같이 연령인증 정보를 확인합니다.
    • A. 강제 연령인증 방식: 서비스에서 API 호출 시RequiredAgeVerificationException 에러가 발생할 경우 사용자 연령인증이 필요합니다.
    • B. 필요 시 연령인증: 카카오 로그인 및 수동 연결에 연령인증이 영향을 미치지 않습니다. 사용자가 연령인증이 필요한 콘텐츠에 접근했을 때 연령인증 정보 조회로 서비스의 연령인증 조건 만족 기준을 만족하는지 확인합니다.
    • C. 앱 설정 없음: 앱에 연령인증 설정이 없는 경우, 사용자가 연령인증이 필요한 콘텐츠에 접근했을 때 연령인증 정보 조회로 서비스의 연령인증 조건 만족 기준을 만족하는지 확인합니다.
  2. 사용자의 연령인증 정보가 서비스의 연령인증 조건 충족 기준을 만족하지 않거나 RequiredAgeVerificationException 에러가 발생해 연령인증이 필요한 경우, 서비스에서 연령인증 페이지를 호출합니다.

카카오 로그인을 적용한 인하우스 또는 공동체 서비스에서는 아래의 웹훅을 사용할 수 있습니다.

  • 연결 해제 웹훅: 사용자 카카오계정과 서비스 앱의 연결이 끊어졌을 때, 해당 사용자를 탈퇴 처리할 수 있도록 관련 정보를 서비스로 전달
  • 로그아웃 웹훅: 서비스 외부에서 사용자의 로그아웃 요청 또는 기타 이유로 로그아웃이 발생한 경우, 관련 정보를 서비스로 전달
  • 계정 상태 변경 웹훅: 앱 연결 및 해제, 비밀번호 변경, 비활성화와 같이 사용자의 계정 상태가 변경된 경우, 관련 정보를 서비스로 전달

SSO(Single Sign On)는 카카오톡에 이미 로그인된 세션을 활용하여, 별도의 앱 전환이나 UI 노출 없이 사용자를 서비스에 로그인시킬 수 있는 기능입니다. SSO를 적용하면 서비스의 로그인 사용자 비율을 높일 수 있습니다.

서비스에서 직접 사용자가 로그인할 계정을 선택하는 화면을 개발해 사용할 수 있습니다. 추후 Partner SDK에서 SSO 로그인 팝업 화면도 지원할 예정입니다.

SSO 동작 방식은 아래와 같습니다.

  1. 카카오톡에 로그인된 사용자가 SSO 기능이 적용된 앱을 실행하면, 사용자에게 토큰이 발급되고, 이 중 리프레시 토큰을 SSO 세션으로 사용합니다.
  2. SSO 세션 정보는 OS 저장소(Android: AccountManager, iOS: 키 체인)에 안전하게 저장하며, 카카오톡으로부터 전달 받은 카카오톡 프로필, DisplayID와 같은 사용자 정보도 함께 보관됩니다.
  3. 사용자가 카카오톡에 로그인된 상태로 서비스에 진입하면 카카오톡에 저장된 로그인 세션(리프레시 토큰)을 이용해 자동 로그인됩니다.
    • OS 저장소에 저장된 SSO 세션 토큰이 삭제돼도, 카카오톡이나 SSO 연동된 서비스 앱은 로그아웃되지 않습니다.
    • 현재 기기에 저장된 카카오톡 계정의 정보를 조회해 그 중 원하는 사용자 계정으로 로그인하거나, 현재 활성화된 카카오톡 계정으로 로그인할 수 있습니다.
  1. [서비스] API플랫폼 아지트에서 [SSO 사용 권한]을 요청합니다.
  2. OS 환경별 사전 작업을 수행합니다.
  3. 개발 문서를 참고해 SSO 기능을 구현합니다.

Android 환경에서 SSO를 구현하려면 아래 사전 작업이 필요합니다.

iOS 환경에서 SSO를 구현하려면 아래 사전 작업이 필요합니다.

  • 서비스 앱과 카카오톡 모두 동일한 Apple 팀 계정을 사용해야 합니다. 다른 Apple 팀 계정에서 카카오톡의 세션을 이용하고자 할 경우, SSO 인증이 불가능합니다.
  • 서비스 앱과 카카오톡 모두 동일한 앱 그룹에 속해야 합니다.

SSO 기능을 이용하려면 Partner SDK를 사용하는 서비스 앱과 카카오톡이 같은 앱 그룹으로 묶여 있어야 합니다.

앱 그룹(App Groups)은 하나의 그룹에 속한 여러 앱이 데이터를 공유할 수 있도록 합니다. iOS 8부터 사용할 수 있으며, 키 체인 뿐만 아니라 UserDefaults 등 다양한 데이터 저장소에서 데이터를 공유하는 데 활용할 수 있습니다. 자세한 설정 방법은 Apple 공식 문서(Sharing access to keychain items among a collection of apps)를 참고합니다.

  1. Apple 개발자 사이트에서 앱 그룹을 등록합니다.
  2. 앱 그룹을 활성화한 후, [Edit]을 눌러 그룹으로 묶을 서비스 앱Kakao SDK를 선택합니다.
  3. Apple 개발자 사이트에서 추가한 앱 그룹 ID과 동일한 값을 XCode 프로젝트에 등록해야 합니다.
    1. XCode에서 프로젝트를 열고 [Project] > [Target] > [Signing & Capabilities]에 접근한 뒤, [+ Capability] 버튼을 선택합니다. (참고: Apple 공식 문서(Configuring app groups))
    2. Apple 개발자 사이트에서 추가한 AppGroup과 동일한 키 값을 [App Groups] 항목에 추가합니다. 페이즈에 맞는 값을 추가해야 합니다. (예: group.com.example.SharedItems)

위 절차를 모두 마쳐야 iOS에서 SSO 로그인을 시도할 수 있습니다.

실제 카카오톡 세션 기반으로 저장된 키 체인 값은 SDK 구조에 따라 디코딩하여 확인 가능합니다. 키 체인에 저장되어 있는 값을 확인하려면 SDK 모델 정보를 확인하여 디코딩해 볼 수 있습니다.

카카오 로그인 동의 화면에서 사용자가 카카오톡 채널을 추가하도록 할 수 있습니다. 카카오톡 채널 추가 항목은 기본적으로 1개를 설정할 수 있고, 필요 시 2개까지 설정 가능합니다. 해당 항목의 문구는 정보통신망법을 기반으로 하는 KISA 가이드라인에 따라 정해져 있으며 다른 문구로는 변경할 수 없습니다.

이 기능을 사용하려면 앱 관리 페이지의 [카카오 로그인] > [카카오톡 채널] 메뉴에서 앱에 연결된 카카오톡 채널을 대표 채널로 설정하거나 [서비스] API플랫폼 아지트로 문의해 수동 설정해야 합니다.

또한 친구로 추가될 카카오톡 채널은 공개 상태여야 합니다. 카카오비즈니스의 [채널] > [프로필] > [프로필 설정]에서 [채널 공개] 설정을 [ON]으로 설정합니다. [OFF]인 경우 채널이 비공개되어 카카오톡 친구로 추가할 수 없습니다.

카카오톡 채널 간편 추가 기능

동의 화면 외에도 사용자가 카카오톡 채널을 추가하도록 하는 기능을 제공합니다. 카카오톡 채널 간편 추가카카오톡 채널 친구 추가를 참고합니다.

사용자의 앱 연결 상태에 따른 호출 제한, SDK 지원 여부, 권한 요구 사항은 지원 범위를 참고합니다.

API설명문서
카카오 로그인: 인가 코드 요청카카오 로그인 동의 화면을 호출하고, 사용자 동의를 거쳐 인가 코드 발급을 요청합니다.REST API
카카오 로그인: 토큰 요청인가 코드로 액세스 토큰과 리프레시 토큰 발급을 요청합니다.REST API
카카오 로그인: 간편로그인Kakao SDK for JavaScript로 제공하는 기능입니다.
인가 코드 요청과 동일한 기능으로, 서비스 웹 페이지에서 인가 코드 발급을 요청하고자 할 때 사용합니다.
JavaScript
카카오 로그인: 카카오톡으로 로그인Kakao SDK for Android, iOS, Flutter로 제공하는 기능입니다.
카카오톡에 연결된 카카오계정 및 인증 정보를 사용해 카카오 로그인합니다.
Android
iOS
Flutter*
카카오 로그인: 카카오계정으로 로그인Kakao SDK for Android, iOS, Flutter로 제공하는 기능입니다.
사용자가 기본 브라우저(Default Browser)에서 카카오계정 정보를 입력하고 카카오 로그인합니다.
Android
iOS
Flutter*
카카오 로그인: 로그아웃액세스 토큰과 리프레시 토큰을 모두 만료시킵니다.REST API
JavaScript
Android
iOS
Flutter*
카카오계정과 함께 로그아웃웹 브라우저에 로그인된 카카오계정의 세션을 만료시키고, 서비스에서도 로그아웃 처리할 때 사용하는 로그아웃 추가 기능입니다.REST API
수동 연결자동 연결을 [사용 안함]으로 설정한 앱에서 앱과 사용자를 수동으로 연결합니다.REST API
Android
iOS
Flutter*
연결 해제앱과 사용자 카카오계정의 연결을 해제합니다.REST API
JavaScript
Android
iOS
Flutter*
토큰 할당Kakao SDK for JavaScript로 제공하는 기능입니다.
카카오 API를 호출할 수 있도록 카카오 로그인으로 발급받은 토큰을 할당합니다.
JavaScript
토큰 존재 여부 조회Kakao SDK for Android, iOS, Flutter로 제공하는 기능입니다.
카카오 API를 호출할 수 있도록 카카오 로그인으로 발급받은 토큰을 할당합니다.
Android
iOS
Flutter*
액세스 토큰 정보 조회액세스 토큰의 유효성을 검증하거나 정보를 확인합니다.REST API
Android
iOS
Flutter*
토큰 갱신액세스 토큰과 리프레시 토큰을 갱신합니다.REST API
동의항목 동의 내역 조회사용자가 동의한 동의항목의 상세 정보 목록을 조회합니다.REST API
JavaScript
Android
iOS
Flutter*
동의항목 동의 철회사용자가 동의한 항목에 대해 동의를 철회합니다.REST API
JavaScript
Android
iOS
Flutter*
서비스 약관 동의 내역 조회사용자가 어떤 약관들에 동의하고 로그인했는지 확인합니다.REST API
JavaScript
Android
iOS
Flutter*
서비스 약관 동의 철회사용자가 동의한 서비스 약관의 동의를 철회합니다.REST API
JavaScript
Android
iOS
Flutter*
OIDC: 메타데이터 조회카카오 로그인의 OpenID Connect 서비스 제공자 설정을 확인합니다.REST API*
OIDC: 공개키 목록 조회카카오 인증 서버가 ID 토큰 서명 시 사용한 공개키 목록을 조회합니다.REST API*
OIDC: ID 토큰 정보 조회ID 토큰 유효성 검증을 위한 참고 정보를 제공합니다.REST API*
OIDC: 사용자 정보 조회현재 로그인한 사용자의 정보를 불러옵니다. OpenID Connect 표준 규격에 맞춘 사용자 정보 조회가 필요한 경우, 사용자 정보 조회 대신 사용합니다.REST API*
고급: 동의항목 동의 처리요청한 동의항목을 사용자가 동의한 동의항목으로 추가합니다.REST API
고급: 서비스 약관에 동의사용자가 특성 서비스 약관에 동의한 것으로 처리합니다.REST API
인하우스 앱: 연령인증 정보 조회사용자의 연령인증 정보를 확인합니다.REST API
인하우스 앱: 연령인증 페이지 호출클라이언트에서 사용자에게 연령인증 또는 본인인증을 요청하는 페이지를 호출합니다.REST API
연결 해제 웹훅사용자가 서비스 외부에서 각 서비스 앱과의 연결을 해제할 경우 서비스 서버에 알려줍니다.웹훅
설정하기
* 오픈 문서

도움이 되었나요?