페이지 이동경로
  • 문서>
  • 카카오 로그인>
  • 이해하기

카카오 로그인

이해하기

이 문서는 카카오 로그인을 소개합니다.

기능 소개

카카오 로그인

카카오 로그인은 카카오계정으로 다양한 서비스에 로그인할 수 있도록 하는 OAuth 2.0 기반의 소셜 로그인 서비스입니다.

카카오 로그인 API를 사용하면, 사용자는 카카오톡 또는 카카오계정으로 손쉽게 서비스에 로그인할 수 있습니다. 서비스는 사용자 ID와 비밀번호를 직접 인증하는 대신, 카카오 API 플랫폼이 인증한 결과를 안전하게 제공받을 수 있습니다.

카카오 로그인 대표 이미지
참고: 애플리케이션

카카오 로그인을 사용하려면 카카오디벨로퍼스 애플리케이션이(이하 앱) 필요합니다. 빠른 시작의 앱 등록 방법과 애플리케이션의 세부 설정 방법을 참고합니다.

카카오싱크

카카오싱크는 사용자의 서비스 가입 절차를 간소화하는 카카오 로그인의 확장 기능입니다. 카카오 로그인 동의 화면에서 동의항목서비스 약관을 한 번에 동의받는 간편가입 기능을 제공합니다. 도입 방법을 포함한 자세한 내용은 카카오싱크의 시작하기를 확인합니다.

카카오 로그인을 통한 서비스 로그인 및 가입

도입 안내

카카오 로그인을 서비스에 도입하는 과정을 안내합니다.

1. 서비스 요구 사항 확인

서비스에서 필요한 항목을 아래 표에서 확인합니다.

분류 설명
데이터 사용자 회원 가입과 서비스 기능에 활용할 수 있는 카카오 API 플랫폼 보유 사용자 정보입니다.
사용자 정보에서 자세한 내용을 확인할 수 있습니다.
기능 서비스 동작에 활용할 수 있는 카카오 API 플랫폼 제공 기능입니다.
제품에서 기능의 소개와 전체 목록을 확인할 수 있습니다.
환경 카카오 API 플랫폼에서 지원하는 서비스 환경(프로그래밍 언어, 프레임워크, 시스템 구조, 모바일 앱 또는 웹 지원 여부 등)입니다.
지원 범위에서 기능별 지원 환경을 확인할 수 있습니다.
2. 앱 등록과 설정

카카오 로그인을 사용하려면 카카오디벨로퍼스 앱이 필요합니다. 등록한 앱이 없다면 애플리케이션 등록을 참고해 새로운 앱을 등록합니다. 서비스의 앱이 이미 등록돼 있다면, 기존 앱을 사용해야 합니다.

등록한 앱의 정보 확인과 추가 설정 방법은 애플리케이션에서, 카카오 로그인 설정 방법은 설정하기에서 확인할 수 있습니다.

3. 연동 개발

카카오 로그인은 서비스 정책, UI/UX를 고려한 다양한 사용자 동선을 지원할 수 있도록 설계되었습니다. 또한 다양한 서비스 개발 환경에서 손쉽게 사용할 수 있도록 REST API 뿐만 아니라 JavaScript, Android, iOS, Flutter 플랫폼용 Kakao SDK(Software Development Kit)를 제공합니다.

개발 및 서비스 환경에 적합한 구현 방법을 선택해 연동 개발과 테스트를 수행합니다. REST API와 Kakao SDK를 함께 사용할 수도 있습니다. 연동 개발에 필요한 요청 및 응답 규격, 예제 등 상세 정보는 아래에서 확인할 수 있습니다.

로그인

카카오 API 플랫폼에서 제공하는 로그인 기능에 대해 안내합니다.

로그인은 사용자가 자신을 인증해 서비스에 권한을 인가하는 절차입니다. 카카오 로그인은 사용자의 로그인 완료 시 보안 데이터인 토큰을 서비스에 발급합니다. 서비스는 토큰을 요청에 포함해 요청의 자격을 증명할 수 있습니다.

서비스 로그인 과정

카카오 로그인으로 서비스에 로그인하는 과정에 대해 안내합니다. 아래 단계별 시퀀스 다이어그램(Sequence diagram)과 설명을 참고합니다.

서비스 로그인 과정
  • 카카오 로그인

    1. 사용자 클라이언트에서 사용자가 카카오 로그인 버튼을 선택하면, 서비스는 카카오 API 플랫폼 서버로 인가 코드 발급을 요청합니다.
    2. 카카오 API 플랫폼 서버는 사용자에게 인증을 요청하고, 성공 시 사용자에게 동의 화면으로 인가를 요청합니다.
    3. 인가 완료 후 카카오 API 플랫폼 서버는 인가 코드를 포함한 Redirect URI로 사용자를 리다이렉트 시킵니다.
    4. 서비스가 Redirect URI에 포함된 인가 코드로 토큰 발급을 요청하면, 카카오 API 플랫폼은 사용자와 서비스 앱을 연결하고 서비스에 사용자의 토큰을 발급합니다.
  • 회원 확인 및 등록

    1. 서비스가 발급받은 사용자의 토큰으로 사용자 정보 가져오기 API를 요청하면, 카카오 API 플랫폼 서버에서 해당 사용자의 정보를 응답합니다.
    2. 서비스는 제공받은 사용자 정보로 사용자의 기존 회원 여부 확인 절차를 수행합니다. 결과에 따라 회원 등록 후에, 또는 바로 서비스 로그인 처리합니다.
  • 서비스 로그인

    1. 서비스 서버에서 사용자 클라이언트에 서비스 로그인 세션을 발급합니다.
    2. 사용자 클라이언트는 발급받은 세션으로 사용자를 로그인 완료 처리하고 로그인된 서비스 화면으로 이동시킵니다.

인증

인증(Authentication)은 계정에 접근을 요청한 사용자가 실제 소유자인지 확인하는 절차로, 대표적인 인증 방법은 사용자가 입력한 ID와 비밀번호를 확인하는 것입니다.

카카오 로그인은 사용자 인증에 카카오톡 또는 카카오계정을 활용합니다. 아래 유형별 사용자 인증 과정을 참고합니다.

  • 카카오톡으로 인증
    1. 사용자 기기의 카카오톡 실행
    2. 카카오톡에 연결된 카카오계정 정보로 사용자 인증
  • 카카오계정으로 인증
    1. 사용자의 서비스 환경에서 카카오계정 정보 입력 화면 출력
    2. 사용자가 입력한 카카오계정 정보로 사용자 인증
개발 플랫폼별 카카오 로그인 API

카카오 로그인은 다양한 서비스 환경을 지원할 수 있도록, 아래와 같이 개발 플랫폼별 API를 인증 유형에 따라 카카오톡과 카카오계정 인증으로 구분해 제공합니다.

JavaScript SDK 간편로그인은 카카오톡으로 먼저 인증을 시도합니다. 카카오톡이 설치되지 않은 환경에서는 카카오계정으로 인증을 시도합니다. 이외 개발 플랫폼의 선택 가능한 API별 차이점은 구현 방식 선택에서 확인할 수 있습니다.

개발 플랫폼 카카오톡 인증 카카오계정 인증 참고
REST API - 카카오 로그인 -
JavaScript 간편로그인 간편로그인 -
Android 카카오톡으로 로그인(권장) 카카오계정으로 로그인 구현 방식 선택
iOS 카카오톡으로 로그인(권장) 카카오계정으로 로그인 구현 방식 선택
Flutter 카카오톡으로 로그인(권장)
카카오톡으로 로그인: 웹(권장)
카카오계정으로 로그인
카카오계정으로 로그인: 웹
구현 방식 선택

인가

인가(Authorization)는 서비스에서 요청한 사용자 동의 필요 정보 또는 접근권한 필요 기능을 카카오 API 플랫폼이 제공해도 될지 사용자에게 동의를 구하는 일입니다. 카카오 API 플랫폼은 사용자에게 인가받지 않은 자원을 서비스에 제공하지 않습니다.

서비스는 필요한 자원에 해당하는 동의항목을 앱에 설정해 동의 화면을 구성할 수 있습니다. 카카오 로그인은 사용자 인증 성공 시, 동의 화면으로 사용자에게 인가를 요청합니다.

동의 화면

사용자는 동의 화면에서 🅐 개인정보 제공 안내를 확인하고, 서비스 이용에 필요한 🅑 동의항목에 동의해 인가를 완료합니다. 사용자가 인가를 완료하면, 서비스는 토큰 발급용 인가 코드를 전달받습니다.

카카오싱크로 한 번에 동의받기

카카오싱크를 도입하면 간편가입 기능을 설정해 동의 화면에서 서비스 약관까지 한 번에 동의받을 수 있습니다. 또한 사용자가 동의한 서비스 약관서비스 약관 동의 내역 확인하기 API로 확인하고 필요한 경우에만 동의받을 수 있습니다.

토큰

토큰은 사용자의 인증과 권한 정보를 담은 문자열입니다. 서비스는 인가 결과로 발급받은 인가 코드로 토큰 발급을 요청할 수 있고, 발급받은 토큰을 API 요청에 포함해서 정보 수신 또는 기능 사용 권한이 있음을 증명할 수 있습니다.

카카오 로그인은 OAuth 2.0 표준 규격에 따라 액세스 토큰(Access token), 리프레시 토큰(Refresh token) 두 종류의 토큰을 발급합니다. OpenID Connect를 활성화하면 ID 토큰을 추가로 발급받을 수 있습니다. 자세한 내용은 토큰별 역할과 만료 시간 표를 참고합니다.

토큰별 역할과 만료 시간

구분 역할 만료 시간
액세스 토큰
(Access token)
API 요청에 포함해 사용자 인증 및 보유 권한 증명 Android, iOS: 12시간
JavaScript: 2시간
REST API: 6시간
리프레시 토큰
(Refresh token)
추가 인증 없이 액세스 토큰 갱신 2달, 만료 시간 1달 남은 시점부터 갱신 가능

비고: 갱신 요청 시 새로운 리프레시 토큰을 발급하고 기존 리프레시 토큰은 폐기됨
ID 토큰
(ID token)
로그인 세션으로 사용 가능한 사용자 인증 정보 제공 토큰, OpenID Connect 활성화 필요 액세스 토큰과 동일
참고: Kakao SDK의 토큰 관리 기능

Kakao SDK for Android, iOS, Flutter는 토큰 유효성 확인 과정에서 필요 시 자동으로 토큰을 갱신하는 토큰 관리 기능을 제공합니다.

참고: 앱 키

앱 키는 토큰과 마찬가지로 API 요청 인증을 할 수 있는 다른 수단입니다. 카카오 API 플랫폼은 한 앱당 개발 플랫폼 또는 특정 역할별 앱 키를 각각 제공합니다. 모든 앱 키는 본래 목적에 부합하는 범위 내에서만 사용해야합니다. 자세한 내용은 앱 키를 참고합니다.

추가 기능

카카오 API 플랫폼에서 제공하는 카카오 로그인 관련 추가 기능 목록입니다. 각 문서에서 자세한 내용을 확인할 수 있습니다.

연결

카카오계정이 서비스를 이용 중임을 의미하는 연결에 대해 안내합니다.

카카오 API 플랫폼은 서비스에 처음 카카오 로그인한 사용자를 서비스 앱과 자동으로 연결하고, 해당 서비스를 이용 중인 것으로 판단합니다. 카카오 API 플랫폼에서 제공하는 카카오 로그인이 필요한 기능은 앱과 연결된 사용자에게만 제공할 수 있습니다. 서비스는 앱과 연결된 사용자를 기존 회원 여부 확인 후 신규 회원으로 가입시키거나, 기존 회원에 연동해야 합니다.

만약 사용자가 더 이상 서비스 이용을 원하지 않는 경우, 서비스는 앱과 연결을 끊기 위한 연결 끊기 요청을 포함해 회원 탈퇴 처리해야 합니다.

아래 사용자 연결 후 서비스 가입 과정 이미지와 각 항목의 내용을 참고합니다.

카카오 로그인 및 서비스 가입 과정

서비스는 ➎ 토큰 발급➏ 앱과 연결된 사용자➐ 서비스 회원 가입 및 로그인 처리해야 합니다.

기존 회원 여부 확인

서비스는 아래 순서로 사용자의 기존 서비스 회원 여부를 확인할 수 있습니다.

  1. 로그인한 사용자의 토큰으로 사용자 정보 가져오기 API 요청
  2. 제공받은 카카오 로그인 사용자 정보와 서비스의 기존 회원 정보 비교
  3. 비교 결과가 서비스의 기존 회원 여부 판단 기준을 만족하는지 확인, 아래 권장 기준 예시 참고
    • 회원번호 일치 시
    • 이름, 이메일, 생일, 출생연도 모두 일치 시
  4. 기존 회원 여부 판단 기준 확인 결과에 따라 아래 회원 등록 절차 수행
카카오싱크로 추가 사용자 정보 제공받기

카카오싱크를 도입하면 추가 사용자 정보를 제공받아 기존 회원 여부 확인과 회원 가입 절차 간소화에 활용할 수 있습니다.

참고: 가입 미완료 사용자 연결 끊기 처리

카카오 API 플랫폼은 서비스 가입이 완료되지 않은 사용자를 매일 연결 끊기 처리 합니다. 가입 미완료 판단 기준을 포함한 자세한 내용은 가입 미완료 사용자 연결 끊기 처리를 참고합니다.

일치하는 사용자 정보 없음

카카오 로그인 사용자와 기존 서비스 회원 정보가 서로 일치하지 않은 경우의 회원 등록 절차입니다.

  1. 신규 회원으로 가입 처리
  2. 사용자에게 서비스 회원 계정과 연동할 수 있는 기능 제공
기존 회원 판단 기준 일부 만족

카카오 로그인 사용자 정보가 서비스의 기존 회원 판단 기준을 일부만 만족한 경우(예: 사용자 정보가 두 개 이상의 서비스 회원 계정과 일치)의 회원 등록 절차입니다.

  1. 사용자에게 기존 서비스 회원 계정에 대한 단서를 제공하고, 사용자 로그인 등 계정 확인 절차 수행(예: 이메일 인증)
  2. 사용자가 계정 확인에 성공한 경우, 카카오 로그인 연동 의사 확인
  3. 연동 동의 시 서비스 회원 계정에 연동 처리, 미동의 시 가입 처리
기존 회원 판단 기준 만족

카카오 로그인 사용자 정보가 서비스의 기존 회원 판단 기준을 만족한 경우(예: 이메일과 CI가 일치하는 서비스 회원 계정 존재)의 회원 등록 절차입니다.

  1. 사용자에게 기존 서비스 회원 계정에 대한 단서를 제공하고, 카카오 로그인 연동 의사 확인
    • 권장 계정 단서: 마스킹(Masking) 처리된 서비스 회원 계정 ID, 가입일, 닉네임
  2. 연동 동의 시 서비스 회원 계정에 연동 처리, 미동의 시 가입 처리

회원 등록

서비스는 사용자를 기존 회원 여부 확인 결과에 따라 신규 회원으로 가입시키거나, 기존 회원에 연동해야 합니다.

가입

가입은 서비스에 처음 카카오 로그인한 사용자를 서비스 회원으로 추가하는 절차입니다.

카카오 API 플랫폼은 토큰 발급 시점에 앱과 사용자를 연결하므로, 토큰 발급 후에 회원 가입 처리해야 합니다. 만약 서비스 회원 가입 처리가 누락될 경우, 사용자가 로그인할 때마다 회원 가입 절차를 거치는 불편을 겪을 수 있습니다.

주의: 서비스 회원 정보 처리

서비스 데이터베이스(Database)의 가입, 탈퇴 등 회원 정보 처리는 서비스에서 자체 구현해야 합니다. 카카오는 서비스 데이터에 접근하지 않으므로 회원 정보를 대신 저장하거나 삭제할 수 없습니다.

연동

연동은 서비스에 처음 카카오 로그인한 사용자가 기존 서비스 회원인 경우, 해당 회원 계정에 카카오 로그인 정보를 등록하는 절차입니다. 카카오 로그인 정보를 연동하면 데이터의 일관성과 정확성을 향상하고, 사용자의 기존 사용 내역을 이어받아 연속된 경험을 제공할 수 있습니다.

서비스는 회원 연동 전 사용자에게 카카오 로그인 연동 의사를 확인해야 합니다. 사용자가 연동에 동의한 경우 아래 절차로 연동을 수행합니다.

  1. 카카오 로그인을 통해 기존 서비스 회원 계정으로 로그인할 수 있도록 회원번호로 연동 처리
  2. 회원정보 외 카카오 로그인 사용자 정보로 서비스 회원 정보 갱신
  3. 회원 가입을 위해 사용자 정보가 추가로 필요한 경우, 추가 항목 동의 받기를 요청해 카카오로부터 제공받거나 자체 수집

만약 사용자가 연동에 동의하지 않은 경우, 서비스는 해당 사용자를 신규 회원으로 가입 처리해야 합니다. 사용자 정보가 기존 회원 정보와 일치해도 사용자가 계정 연동을 원하지 않거나 실제 계정 소유자가 다를 수 있습니다.

주의: 서비스 회원 ID 선정

서비스 회원 ID로 이메일 또는 전화번호와 같은 변경 가능한 정보를 사용하지 않아야 합니다. 사용자는 회원번호와 CI를 제외한 카카오계정 정보를 변경할 수 있어 사용자 정보 가져오기 API의 응답과 기존 서비스 가입 정보가 다를 수 있고, CI도 사용자가 필요에 따라 삭제할 수 있습니다. (참고: 카카오 로그인으로 기존 회원 매핑 시 주의 사항)

회원 탈퇴

서비스 이용을 더 이상 원하지 않는 카카오 로그인 사용자는 서비스의 탈퇴 절차로 서비스 앱과 연결을 끊거나, 카카오 API 플랫폼이 제공하는 연결된 서비스 관리 기능으로 직접 서비스 앱과의 연결 끊기를 요청할 수 있습니다.

주의: 회원 탈퇴 시 사용자 정보 파기

서비스는 불필요한 사용자 정보를 보관하지 않도록, 사용자 회원 탈퇴 시 사용자 정보를 복구 불가능한 방법으로 파기해야 합니다. 자세한 내용은 회원 탈퇴 시 정보 파기를 확인합니다.

서비스의 탈퇴 절차

카카오 로그인을 통해 서비스를 이용 중이던 사용자가 서비스에서 탈퇴 또는 카카오 로그인 연동 해제를 요청하면, 서비스는 반드시 탈퇴 과정에 연결 끊기 요청을 포함해 앱과 사용자의 연결을 끊어야 합니다. 카카오 API 플랫폼은 연결 끊기 요청을 받으면 인가 권한 회수, 로그아웃, 사용자 정보 삭제 요청 절차를 수행합니다.

카카오 로그인 사용자의 탈퇴 과정

서비스는 사용자가 ➊ 탈퇴 또는 카카오 로그인 연동 해제를 요청하면, 카카오 API 플랫폼에 해당 사용자에 대한 ➋ 연결 끊기를 요청해야 합니다. 카카오 API 플랫폼은 ➌ 앱 연결 해제 후 로그아웃 처리합니다. 서비스는 연결 끊기 요청 성공 시 해당 사용자를 ➎ 탈퇴 처리합니다.

연결 끊기

서비스 앱과 사용자 카카오계정 간의 연결을 끊는 기능입니다. 연결이 끊긴 카카오계정은 더 이상 해당 서비스를 이용할 수 없습니다. 개발 플랫폼별 지원 여부와 개발 문서는 지원하는 기능에서 확인할 수 있습니다.

연결 끊기 발생 원인은 아래와 같습니다.

사용자 직접 요청 또는 카카오 API 플랫폼 운영으로 인한 연결 끊기는 연결 끊기 알림을 설정해 서비스 서버로 전달받을 수 있습니다. 연결 끊기 알림을 사용해 서비스 회원 상태와 카카오 API 플랫폼의 연결 상태를 일치시킬 것을 권장합니다.

로그아웃

로그아웃은 서비스에 발급된 사용자의 토큰을 만료시키는 기능입니다. 로그아웃을 요청하면 더 이상 해당 카카오 로그인 사용자의 정보로 카카오 API를 호출할 수 없습니다. 로그아웃 시에도 웹 브라우저의 카카오계정 로그인 상태는 유지되기 때문에, 서비스 초기 화면으로 리다이렉트하는 등 후속 조치를 취해야 합니다.

카카오 API 플랫폼은 로그아웃 요청에 사용한 인증 방식에 따라 로그아웃 동작이 다르며, 개발 플랫폼마다 사용 가능한 인증 방식에 차이가 있습니다. 인증 방식별 로그아웃 동작을 참고합니다.

인증 방식별 로그아웃 동작
인증 방식 토큰 만료 처리 기기 로그아웃 지원 개발 플랫폼
액세스 토큰 요청에 사용한 액세스 토큰만 요청에 사용한 액세스 토큰으로 로그인한 기기만 REST API
Kakao SDK
어드민 키 해당 사용자의 모든 토큰 해당 사용자의 토큰으로 로그인한 모든 기기 REST API

추가 기능

카카오 로그인의 로그아웃 관련 추가 기능 목록입니다. 각 문서에서 자세한 내용을 확인할 수 있습니다.

보안

서비스에 적용하면 사용자의 로그인을 더 안전하게 처리할 수 있는 카카오 로그인의 보안 관련 문서 목록입니다. 각 문서에서 자세한 내용을 확인할 수 있습니다.

  • 보안 이벤트 구독: 앱 연결 및 해제, 비밀번호 변경, 비활성화와 같은 사용자의 보안 이벤트 정보 제공
  • Client Secret 코드: 미리 발급받은 Client Secret 코드를 포함한 경우에만 토큰 발급과 갱신 가능하도록 설정
  • 보안을 위한 파라미터: OAuth 2.0 및 OpenID Connect 표준 보안 파라미터 사용 설정
  • 허용 IP 주소: 등록한 IP 주소의 요청만 허용하도록 설정
  • 보안 권장사항: 카카오 API 플랫폼 사용 서비스를 위한 보안 권장사항 안내

이용 정책

사용자 정보 관리

카카오 API 플랫폼은 사용자에게 제3자 정보제공동의를 받아 서비스에 개인정보를 제공하고 있습니다. 따라서, 서비스는 제공받은 개인정보의 관리 책임이 전적으로 서비스에 있음을 인지하고 사용자 정보를 안전하게 보호하고 관리하기 위해 아래 내용을 철저히 준수해야 합니다.

회원 탈퇴 시 정보 파기

서비스는 사용자 탈퇴 시 운영 정책에 따라 사용자의 모든 개인정보를 복구 불가능한 방법으로 파기해야 합니다. 연결 끊기 알림을 사용한 서비스의 탈퇴 절차 이외의 사용자 탈퇴 사실 확인을 적극 권장합니다.

만약 사용자 탈퇴 후 일정 기간 개인정보 보관이 필요한 경우, 반드시 사용자 동의를 받아야 합니다. 카카오계정과 앱 연결 시 부여하는 앱별 사용자 고유 ID인 회원번호(user_id) 또한 파기 대상인 개인정보입니다.

정보 수집과 사용

서비스는 반드시 기능 제공에 필요한 최소한의 사용자 정보만 수집해야 하며, 수집한 정보는 제공 목적에 부합하도록 사용해야 합니다. 카카오 API 플랫폼이 제공하는 사용자 정보별 제공 목적은 사용자 정보에서 확인합니다.

사용자 정보는 값이 변경되거나 삭제될 수 있습니다. 사용자가 카카오 로그인할 때마다 사용자 정보 가져오기 API를 요청해 서비스 회원 정보를 최신 정보로 갱신할 것을 권장합니다.

이메일 사용 시 주의사항

카카오 API 플랫폼의 사용자 이메일 주소 정보는 함께 제공하는 해당 주소의 유효 여부와 인증 여부를 항상 확인하고 사용해야 합니다.

유효하지 않은 이메일 주소는 일부 마스킹(예: ka***@kakao.com)해서 제공하기 때문에 사용에 제약이 있으며, 인증되지 않은 이메일 주소는 서비스에서 발송한 이메일을 전달받지 못할 수 있습니다. 또한 이메일은 사용자 요청에 따라 변경될 수 있으므로, ID 또는 동일 사용자 여부 판단 기준으로 사용하는 것을 권장하지 않습니다.

개인정보 국외이전

개인정보보호법 제28조의8(개인정보의 국외 이전)에 따라, 카카오 API를 통해 제공받은 사용자의 개인정보를 국외에 제공, 처리위탁, 보관하려면 개인정보 국외이전에 관한 아래 사항을 사용자에게 고지한 후 동의를 받아야 합니다.

  1. 이전되는 개인정보 항목
  2. 개인정보가 이전되는 국가, 이전 일시 및 이전 방법
  3. 개인정보를 이전받는 자의 성명(법인인 경우에는 그 명칭 및 정보관리책임자의 연락처)
  4. 개인정보를 이전받는 자의 개인정보 이용목적, 보유 및 이용 기간

개인정보 국외이전에 해당하는 경우는 아래와 같습니다.

  • 국내 사용자 정보를 국외에 있는 사업자로 이전하여 처리하는 경우
  • 국외에 있는 사업자가 국내 사용자 정보를 조회, 저장 등 처리하는 경우

개인정보 국외이전 정보 등록 방법은 설정하기에서 확인할 수 있습니다.

서비스 약관 운용

간편가입이 제공하는 서비스 약관의 동의, 조회, 철회 관련 기능은 카카오가 아닌 서비스에 대한 사용자 의사표시를 위한 것입니다. 따라서, 서비스는 앱의 서비스 약관에 대한 관리와 사용 책임이 전적으로 서비스에 있음을 인지하고 피해가 발생하지 않도록 운용해야 합니다.

앱에 등록한 서비스 약관의 내용은 실제 서비스 약관과 동일해야 하며 관련 법률을 준수해야 합니다. 등록한 서비스 약관이 실제와 다르거나 관련 법률을 준수하지 않은 경우 서비스 제공에 제한을 받을 수 있습니다.

가입 미완료 사용자 연결 끊기 처리

2020년 12월 28일부터 카카오 API 플랫폼은 서비스 가입이 완료되지 않은 사용자를 매일 연결 끊기 처리 합니다. 가입 미완료 판단 기준은 아래와 같습니다.

  • 자동 연결 사용 시 사용자의 최초 카카오 로그인 후 24시간 이내에 사용자 정보 가져오기 API와 같은 사용자 정보 요청 관련 API를 호출하지 않은 경우
  • 수동 연결 사용 시 24시간 이내에 연결하기 API를 호출하지 않아 사용자가 서비스 앱과 연결되지 않은 경우

가입 미완료 사용자를 대상으로 한 연결 끊기도 연결 끊기 알림으로 확인할 수 있습니다. 자세한 내용은 공지사항을 참고합니다.

오픈마켓별 소셜 로그인 정책

카카오 로그인을 사용하는 서비스에서 참고해야 할 주요 오픈마켓의 소셜 로그인 정책입니다. 자세한 사항은 각 오픈마켓의 이용 정책을 확인해야 합니다.

Android

Android 앱을 제공하는 서비스인 경우, 구글 플레이(Google Play) 정책에 따라 사용자에게 앱 계정 및 관련 데이터를 삭제할 수 있는 인앱 경로를 제공해야 합니다. 이 정책은 2024년 5월 31일 부터 준수하지 않으면 향후 Google Play에서 앱이 삭제되는 등 앱에 추가적인 시정 조치가 취해질 수 있습니다. 자세한 내용은 Google Play의 앱 계정 삭제 요구사항에서 확인할 수 있습니다.

iOS

iOS 앱을 제공하는 서비스인 경우, 애플 앱스토어(Apple App Store) 심사 지침에 따라 소셜 로그인 사용 시 앱 내에서 소셜 로그인 연동 해제 및 서비스 탈퇴 기능을 반드시 제공해야 합니다. 이 심사 지침은 오는 2022년 1월 31일 제출 건부터 적용되며, 자세한 내용은 App Store 앱 심사 지침에서 확인할 수 있습니다.

활용과 설정 안내

이 문서에서 소개한 카카오 로그인의 핵심적인 내용 외에, 추가 내용을 담은 카카오 로그인 관련 문서에 대해 안내합니다.

활용하기

카카오 로그인을 보다 효과적으로 활용하기 위한 방법은 활용하기에서 확인할 수 있습니다. 위에서 설명한 카카오 로그인의 핵심 내용과 관련된 주요 추가 정보에 대해 안내합니다.

설정하기

카카오 로그인의 설정과 관련된 내용은 설정하기에서 자세히 다루고 있습니다. 해당 문서 내 제목에 부착된 태그(Tag)로 반드시 해야 하는 필수 설정과 필요에 따라 선택 가능한 선택 설정을 구분해 확인할 수 있습니다.

추가 문서

이외에도 카카오 로그인과 관련된 개발 플랫폼별 구현 방법(REST API, JavaScript, Android, iOS, Flutter), 부가 기능의 설명과 사용 방법(보안 이벤트 구독, 콜백, 멀티 앱), 디자인 가이드, FAQ, 문제 해결에 대한 문서를 별도로 제공합니다. 각 관련 문서에서 자세한 내용을 확인할 수 있습니다.

지원하는 기능

개발 플랫폼별 지원 여부와 개발 문서

  • 각 API와 기능의 개발 플랫폼별 지원 여부는 지원 범위에서도 확인할 수 있습니다.
API 및 기능 설명 문서
카카오 로그인 인가 코드 받기 카카오 로그인 동의 화면을 호출하고, 사용자 동의를 거쳐 인가 코드 발급을 요청합니다. REST API
토큰 받기 인가 코드로 액세스 토큰과 리프레시 토큰 발급을 요청합니다. REST API
간편로그인 인가 코드 받기와 동일한 기능으로, Kakao SDK for JavaScript에서 인가 코드 발급을 요청할 때 사용합니다. JavaScript
카카오톡으로 로그인 카카오톡에 연결된 카카오계정 및 인증 정보를 사용해 카카오 로그인합니다. Android
iOS
Flutter
카카오계정으로 로그인 기본 브라우저(Default Browser)로 카카오계정 정보를 입력하고 카카오 로그인합니다. Android
iOS
Flutter
카카오계정 간편로그인 브라우저에 카카오계정 간편로그인 정보 존재 시 계정 선택 화면을 표시합니다. JavaScript
Android
iOS
Flutter
카카오톡에서 자동 로그인 카카오톡 인앱브라우저에서 서비스 페이지 진입 시, 서비스 회원에게 로그인된 페이지를 바로 표시합니다. REST API
JavaScript
기존 로그인 여부와 상관없이 로그인 기존 로그인 여부와 상관없이 사용자 인증을 다시 수행합니다. REST API
JavaScript
Android
iOS
Flutter
카카오계정 가입 후 로그인 사용자에게 카카오계정 가입을 요청하고, 가입 완료 후 카카오 로그인을 요청합니다. REST API
Android
iOS
Flutter
추가 항목 동의 받기 원하는 시점에 사용자가 동의하지 않은 동의항목을 지정해 인가를 요청합니다. REST API
JavaScript
Android
iOS
Flutter
로그인 힌트 주기 카카오 로그인 요청 시 전달한 ID 값을 카카오계정 로그인 페이지에 자동 입력합니다. REST API
JavaScript
Android
iOS
Flutter
서비스 약관 선택해 동의 받기 앱의 서비스 약관 중 일부만 지정해 사용자에게 동의 요청합니다. REST API
JavaScript
Android
iOS
Flutter
OpenID Connect ID 토큰 발급하기 로그인 세션 대신 사용할 수 있는 ID 토큰 발급을 요청합니다. REST API
JavaScript
Android
iOS
Flutter
토큰 할당하기 Kakao SDK for JavaScript로 제공하는 기능입니다.
카카오 API를 호출할 수 있도록 카카오 로그인을 통해 발급받은 토큰을 할당합니다.
JavaScript
토큰 존재 여부 확인하기 Kakao SDK for Android, iOS, Flutter로 제공하는 기능입니다.
사용자가 앞서 로그인을 통해 발급 받은 토큰이 있는지 확인합니다.
Android
iOS
Flutter
토큰 정보 보기 액세스 토큰의 유효성을 검증하거나 정보를 확인합니다. REST API
Android
iOS
Flutter
토큰 갱신하기 액세스 토큰과 리프레시 토큰을 갱신합니다. REST API
사용자 정보 가져오기 현재 로그인한 사용자의 정보를 불러옵니다. REST API
JavaScript
Android
iOS
Flutter
여러 사용자 정보 가져오기 앱 사용자 여러 명의 정보를 불러옵니다. REST API
사용자 목록 가져오기 앱의 사용자 회원번호 목록을 불러옵니다. REST API
사용자 정보 저장하기 사용자 프로퍼티 값을 저장합니다. REST API
JavaScript
Android
iOS
Flutter
배송지 배송지 선택하기 Kakao SDK에서 제공하는 기능입니다.
사용자가 서비스에 제공할 배송지를 직접 선택할 수 있는 배송지 피커를 불러오고, 선택된 배송지의 ID를 제공합니다.
JavaScript
Android
iOS
Flutter
배송지 가져오기 배송지 ID에 해당하는 특정 배송지 또는 전체 배송지 목록을 제공합니다. REST API
JavaScript
Android
iOS
Flutter
동의 내역 확인하기 사용자가 동의한 동의항목의 상세 정보 목록을 조회합니다. REST API
JavaScript
Android
iOS
Flutter
동의 철회하기 사용자가 동의한 항목에 대해 동의를 철회합니다. REST API
JavaScript
Android
iOS
Flutter
서비스 약관 동의 내역 확인하기 사용자가 어떤 약관들에 동의하고 로그인했는지 확인합니다. REST API
JavaScript
Android
iOS
Flutter
서비스 약관 동의 철회하기 사용자가 동의한 서비스 약관의 동의를 철회합니다. REST API
JavaScript
Android
iOS
Flutter
OpenID Connect OIDC: 메타데이터 확인하기 카카오 로그인의 OpenID Connect 서비스 제공자 설정을 확인합니다. REST API
OIDC: 공개키 목록 조회하기 카카오 인증 서버가 ID 토큰 서명 시 사용한 공개키 목록을 조회합니다. REST API
OIDC: ID 토큰 정보 보기 ID 토큰 유효성 검증을 위한 참고 정보를 제공합니다. REST API
OIDC: 사용자 정보 가져오기 현재 로그인한 사용자의 정보를 불러옵니다. OpenID Connect 표준 규격에 맞춘 사용자 정보 조회가 필요한 경우, 사용자 정보 가져오기 대신 사용합니다. REST API
로그아웃 액세스 토큰과 리프레시 토큰을 모두 만료시킵니다. REST API
JavaScript
Android
iOS
Flutter
카카오계정과 함께 로그아웃 웹 브라우저에 로그인된 카카오계정의 세션을 만료시키고, 서비스에서도 로그아웃 처리할 때 사용하는 로그아웃 추가 기능입니다. REST API
연결 끊기 앱과 사용자 카카오계정의 연결을 끊습니다. REST API
JavaScript
Android
iOS
Flutter
고급: 연결하기 자동 연결을 [사용 안함]으로 설정한 앱에서 앱과 사용자를 수동으로 연결하는 기능입니다. REST API
Android
iOS
Flutter
연결 끊기 알림 사용자가 서비스 외부에서 서비스 앱 연결을 해제할 경우 서비스 서버에 알려줍니다. 콜백
설정하기