이 문서는 서비스에 카카오싱크를 도입하기 위해 필요한 연동 개발에 대해 안내합니다.
카카오싱크 구현을 위해서는 카카오에서 제공하는 API를 파트너의 회원 가입 기능에 맞게 적용하고 개발해야 합니다.
다음은 카카오싱크 도입을 위해 반드시 구현해야 하는 기능입니다.
카카오싱크 간편가입은 카카오 로그인을 기반으로 동작하므로, 서비스에 카카오 로그인이 필수 구현되어야 합니다. 이해하기의 카카오 로그인의 자세한 소개와 아래 기능별 개발 가이드를 참고합니다.
기능 | 설명 | 개발 가이드 |
---|---|---|
카카오 로그인 | 카카오톡 또는 카카오계정으로 서비스에 로그인 카카오싱크 도입 서비스는 이용약관 동의 기능까지 이용 가능 |
웹 REST API JavaScript 네이티브 앱 Android iOS Flutter |
사용자 정보 가져오기 | 서비스 회원 가입 및 정보 갱신에 필요한 사용자 정보를 카카오에 요청 | 웹 REST API JavaScript 네이티브 앱 Android iOS Flutter |
카카오싱크는 서비스 약관 동의를 지원하므로, 사용자가 간편가입 시 동의한 서비스 약관 확인, 특정 서비스 약관에 대한 동의 또는 철회 요청 기능을 제공합니다.
기능 | 설명 | 개발 가이드 |
---|---|---|
서비스 약관 동의 내역 확인하기 | 사용자가 어떤 서비스 약관에 동의하고 로그인했는지 확인 앱에 등록된 서비스 약관의 태그(Tag)로 사용자의 동의 여부 확인 사용자별 응답과 전체 서비스 약관을 비교해 추가 동의 필요 항목 확인 특정 서비스 약관만 동의 필요시 서비스 약관 선택해 동의 받기 호출 또는, 서비스 자체 약관 동의 절차를 거치도록 구현 특정 서비스 약관의 동의 철회 필요시 서비스 약관 동의 철회하기 호출 |
웹 REST API JavaScript 네이티브 앱 Android iOS Flutter |
서비스 약관 동의 내역 확인하기, 서비스 약관 선택해 동의 받기와 서비스의 자체적인 동의 절차를 통해 아래와 같은 과정으로 동의 확인 절차를 수행할 수 있습니다.
다음은 카카오싱크 도입 시 필요에 따라 구현해 사용할 수 있는 기능입니다.
기능 | 설명 | 개발 가이드 |
---|---|---|
카카오톡에서 자동 로그인 | 카카오톡 인앱브라우저를 통한 서비스 페이지 진입 시, 카카오싱크 간편가입을 통해 이미 가입한 사용자는 로그인 절차를 거치지 않고 서비스에서 곧바로 로그인 처리할 수 있는 카카오 로그인 추가 기능 서비스 가입 여부에 따른 분기 처리 지원 |
웹 REST API JavaScript |
서비스 약관 선택해 동의 받기 | 사용자의 서비스 가입 시나리오에 따라 앱에 등록된 서비스 약관 중 특정 서비스 약관을 지정해 동의받고자 할 때 사용하는 카카오 로그인 추가 기능 앱에 새로운 [필수 동의] 동의 서비스 약관이 추가된 경우, 해당 서비스 약관에 대한 동의 요청하기 위해 사용 또는 멤버십(Membership) 등 동일한 회원 체계 적용을 위해 여러 서비스에서 하나의 앱으로 카카오싱크를 이용하는 경우, 필요한 서비스 약관에 대한 동의만 요청하기 위해 사용 주의: 사용자가 이미 동의한 서비스 약관이나 [선택 동의] 동의 서비스 약관만 선택해 동의받을 수 없음(동의 화면 비노출) |
웹 REST API JavaScript 네이티브 앱 Android iOS Flutter |
서비스 약관 동의 철회하기 | 특정 사용자가 동의한 서비스 약관의 동의 철회 처리 서비스 약관 동의 내역 확인하기의 응답으로 확인 가능한 동의 철회 가능 서비스 약관에 대해서만 철회 가능 |
웹 REST API JavaScript 네이티브 앱 Android iOS Flutter |
카카오톡 공유 | 카카오톡 메시지로 친구에게 서비스 정보 메시지를 공유하는 기능 | 웹 JavaScript 네이티브 앱 Android iOS Flutter |
카카오톡 채널 관계 확인하기 | 서비스의 앱에 연결된 카카오톡 채널과 사용자의 친구 관계 확인 | 웹 REST API JavaScript 네이티브 앱 Android iOS Flutter |
싱크 플러그인 | 카카오톡 채널 챗봇을 통한 서비스 이용 시, 하프뷰(Half-View) 동의화면을 통한 카카오싱크 간편가입을 지원하는 추가 기능 서비스 가입을 위한 웹 페이지 이동 없이 카카오톡 채널 채팅방 안에서 챗봇을 통한 서비스 이용을 이어갈 수 있는 매끄러운 사용자 동선 제공 |
공통 고급: 싱크 플러그인 |
연동 개발 완료 후 실제 서비스에 카카오싱크를 적용하기 전에 각 항목을 참고하여 서비스를 점검할 것을 권장합니다.
각 표의 [항목]의 의미는 아래와 같습니다.
항목 | 질문 | 기대 결과 | 참고 문서 |
---|---|---|---|
애플리케이션 | [내 애플리케이션] > [카카오 로그인] > [간편가입] 설정이 활성화(ON)되어 있습니까? | 해당 설정이 활성화(ON)되어 있습니다. | 카카오싱크 |
애플리케이션 | [내 애플리케이션] > [카카오 로그인] > [간편가입] 설정에 카카오싱크 신청 시 입력한 서비스 약관이 올바르게 등록되어 있습니까? | 서비스 약관 제목, URL, TAG가 올바르게 등록되어 있습니다. | 간편가입 |
애플리케이션 | [내 애플리케이션] > [카카오 로그인] > [동의항목] 설정에 회원 가입에 필요한 모든 사용자 정보가 필수 또는 선택으로 등록되어 있습니까? | 해당 설정에 회원 가입에 필요한 모든 사용자 정보가 등록되어 있습니다. | 사용자 정보 |
애플리케이션 | [내 애플리케이션] > [카카오 로그인] > [동의항목] 설정 중, 서비스 회원 가입 시 반드시 필요한 정보에 "카카오계정으로 정보 수집 후 제공" 기능을 사용합니까? | "카카오계정으로 정보 수집 후 제공" 기능을 사용해, 회원 가입 필수 정보가 누락되어 가입 처리에 실패하지 않습니다. | 동의항목 |
서비스 | 카카오싱크 간편가입 시 사용자로부터 제공 동의 받은 정보를 사용해 정상적으로 회원 가입 처리를 합니까? | 카카오싱크 간편가입 시 사용자가 제공 동의한 정보를 사용자 정보 요청을 통해 받고, 받은 정보로 서비스 회원 정보에 가입 처리합니다. | 카카오싱크 |
서비스 | 카카오싱크 간편가입 직후, 사용자에게 추가 정보 입력을 요구합니까? | 카카오싱크 사용자 정보를 바탕으로 회원 가입 처리를 완료하고, 가입 과정에서 불필요하거나 선택적으로 필요한 추가 정보 입력을 요구하지 않습니다. | 카카오싱크 연결 |
서비스 | 카카오싱크 간편가입 시, 기존 서비스 회원이라면 회원 정보 갱신 또는 연동 처리를 합니까? | 기존 회원이 카카오싱크를 통해 보다 편리하게 서비스를 이용할 수 있도록 회원 정보 갱신 또는 연동 처리를 합니다. | 연동 |
서비스 | 사용자가 회원 탈퇴하면 연결 끊기 요청을 합니까? | 사용자가 회원 탈퇴할 때 연결 끊기를 요청해 애플리케이션과 사용자의 연결 상태를 해제하고, 다시 카카오싱크 간편가입을 할 때 서비스 약관 및 정보 제공 동의를 거칠 수 있도록 합니다. | 연결 |
서비스 | 사용자가 회원 탈퇴하면 서비스 약관 및 개인정보처리방침에 따라 저장한 해당 사용자의 정보를 삭제하는 등 적합한 조치를 취합니까? | 회원 탈퇴 시, 사용자 정보 삭제 등 적합한 조치를 취합니다. | 연결 |
항목 | 질문 | 기대 결과 | 참고 문서 |
---|---|---|---|
애플리케이션 | [내 애플리케이션] > [카카오 로그인] 설정이 활성화되어 있습니까? | 해당 설정이 활성화되어 있습니다. | 카카오 로그인 활성화 설정 |
애플리케이션 | [내 애플리케이션] > [카카오 로그인] > [Redirect URI] 설정에 올바른 URI 값이 등록되어 있습니까? | 해당 설정에 올바른 Redirect URI 값이 등록되어 있습니다. | Redirect URI 등록 |
서비스 | 서비스 로그인 UI에 카카오싱크 간편가입 및 로그인을 위한 [카카오로 시작하기] 버튼을 제공합니까? | 카카오싱크 간편가입 및 로그인을 위한 [카카오 로그인] 버튼을 제공합니다. | 디자인 가이드 |
서비스 | 사용자가 정상적으로 카카오싱크 서비스 로그인을 완료합니까? | 사용자가 정상적으로 로그인을 완료합니다. | 카카오 로그인 |
서비스 | 사용자가 카카오톡이 설치된 스마트폰에서 로그인을 시도하는 경우, 카카오톡을 통해 간편로그인할 수 있도록 동작합니까? | 카카오톡이 설치된 스마트폰에서는 카카오톡을 통한 간편로그인합니다. | 개발 플랫폼별 카카오 로그인 API |
서비스 | 로그아웃 기능을 제공합니까? | 사용자가 카카오계정 로그인 상태를 로그아웃하여 해제할 수 있어야 합니다. | 로그아웃 |
서비스 | 로그아웃 시 브라우저나 서버에 임시 저장된 기존 사용자 정보를 삭제합니까? | 로그아웃 시 기존 사용자 정보를 삭제하고, 다시 카카오 로그인할 때 기존 사용자로 로그인되지 않고 다시 인증을 거쳐 사용자 정보를 보호합니다. | 로그아웃 |
항목 | 질문 | 기대 결과 | 참고 문서 |
---|---|---|---|
애플리케이션 | [내 애플리케이션] > [비즈니스] > [연결된 비즈니스 채널] 설정에 서비스의 카카오톡 채널들이 등록되어 있습니까? | 해당 설정에 서비스의 카카오톡 채널들이 등록돼 있습니다. | 카카오톡 채널 |
애플리케이션 | [내 애플리케이션] > [카카오 로그인] > [카카오톡 채널] 설정에 홍보하려는 서비스의 카카오톡 채널이 대표 채널로 설정되어 있습니까? | 홍보하려는 서비스의 카카오톡 채널이 대표 채널로 등록되어 있어, 사용자가 카카오 로그인 시 채널 추가 동의를 할 수 있습니다. | 카카오톡 채널 |
항목 | 질문 | 기대 결과 | 참고 문서 |
---|---|---|---|
서비스 | 카카오 로그인 및 간편가입의 모든 항목을 확인했을 때 이상이 없습니까? | 모든 항목을 만족하여 사용자가 정상적으로 로그인 및 가입할 수 있습니다. | - |
서비스 | 사용자가 로그인한 뒤 마이페이지 등을 통해 사용자 정보를 확인했을 때, 카카오계정의 정보를 사용하는 항목 값이 올바르게 반영되어 있습니까? | 사용자가 카카오계정 정보를 제공한 항목의 값이 올바르게 적용되어 있습니다. | 사용자 정보 |
서비스 | 데이터베이스에 저장될 회원식별자(ID) 값으로 사용자 정보의 회원번호를 사용합니까? | 카카오싱크 사용자의 ID는 회원번호(user id)를 사용합니다. | 이메일 사용 시 주의사항 |
서비스 | 사용자가 카카오계정 관리 페이지의 연결된 서비스 관리를 통해 연결 끊기를 한 경우, 서비스에서 회원 탈퇴 처리를 할 수 있도록 알림을 받는 기능을 사용합니까? | 연결 끊기 알림 기능을 사용해 카카오 플랫폼을 통한 연결 끊기 요청을 처리합니다. | 연결 |
서비스 | 회원 가입 및 탈퇴 버튼 및 문구가 카카오의 디자인 가이드를 만족합니까? | 버튼 색상 및 구성 요소가 디자인 가이드를 준수하며, 카카오계정 가입 또는 탈퇴로 오해할 문구를 사용하지 않습니다. | 디자인 가이드 |