이 문서는 Kakao SDK for JavaScript(이하 JavaScript SDK)를 사용한 카카오 로그인 구현 방법을 안내합니다.
이 문서에 포함된 기능 일부는 [도구] > [JS 데모]를 통해 사용해 볼 수 있습니다.
카카오 로그인 구현에 필요한 로그인 버튼 이미지는 [도구] > [리소스 다운로드]에서 제공합니다. 해당 로그인 버튼은 디자인 가이드를 참고하여 서비스 UI에 적합한 크기로 수정하여 사용할 수 있습니다.
PC 및 모바일 웹 환경의 서비스는 JavaScript SDK를 사용하면 클라이언트와 서버 요청 각각의 이점을 살려 카카오 로그인을 구현할 수 있습니다. JavaScript SDK의 간편로그인 사용 시, 사용자가 모바일 웹에서 서비스를 이용 중인 경우에는 카카오계정 정보 입력 없이 카카오톡으로 간편하게 로그인할 수 있습니다. 다음은 JavaScript SDK를 사용한 카카오 로그인 과정을 나타낸 시퀀스 다이어그램(Sequence diagram)입니다. 단계별 안내와 REST API를 함께 참고합니다.
1. 간편로그인 요청Kakao.Auth.authorize()
함수를 호출해 간편로그인을 요청합니다.서비스의 사용자 로그인 처리는 서비스에서 자체 구현해야 합니다. 이 문서는 사용자 로그인 처리 구현 시 참고할 수 있는 정보를 제공합니다.
레퍼런스 | 앱 설정 |
---|---|
Kakao.Auth.authorize() Kakao.Auth.setAccessToken() |
설치 초기화 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 Redirect URI 등록 동의항목 OpenID Connect 활성화(선택) 간편가입(선택) |
필요 | 필요: 필수 동의항목 |
간편로그인은 카카오계정 ID 및 비밀번호 입력 없이 카카오톡을 통해 사용자를 인증하고 인가 코드를 발급받는 기능입니다.
카카오 로그인은 카카오 플랫폼 안에서 사용자를 인증하고 앱과 연결하는 기능입니다. 카카오는 서비스 데이터에 접근하지 않으므로, 서비스 회원 정보에 회원 가입 처리를 할 수 없습니다. 카카오 로그인 후 필요한 회원 가입 처리나 회원 정보 갱신은 서버에서 인가 코드 및 토큰을 받은 후 구현해야 합니다.
카카오 로그인 함수인 Kakao.Auth.authorize()
로 간편로그인을 요청합니다. 자세한 파라미터 정보는 추가 기능과 레퍼런스에서 확인할 수 있습니다.
사용자가 카카오 로그인 버튼을 클릭했을 때 Kakao.Auth.authorize()
를 호출하면, JavaScript SDK가 간편로그인을 위해 카카오톡을 실행합니다. 카카오톡이 설치되지 않은 환경에서는 카카오계정으로 로그인을 시도하며, 이후 과정은 REST API를 참고합니다.
사용자는 카카오톡의 동의 화면에서 서비스 이용에 필요한 동의항목에 동의하고 로그인하거나 로그인을 취소할 수 있습니다. 카카오 인증 서버는 사용자의 선택에 따라 요청 처리 결과를 담은 쿼리 스트링(Query string)을 redirectUri
로 HTTP 302 리다이렉트(Redirect)합니다. Redirect URI는 [내 애플리케이션] > [카카오 로그인] > [Redirect URI]에 등록된 값 중 하나여야 합니다.
서비스 서버는 redirectUri
로 HTTP 302 리다이렉트된 요청의 Location
에서 인가 코드 또는 에러를 확인해 다음과 같이 처리해야 합니다.
code
및 state
전달code
의 인가 코드 값으로 토큰 받기 요청Kakao.Auth.authorize({
redirectUri: '${REDIRECT_URI}',
});
서비스 서버에서 인가 코드를 사용해 REST API로 토큰 받기를 요청하여 로그인을 완료합니다. OpenID Connect를 사용하는 앱인 경우, 토큰 받기를 통해 ID 토큰을 함께 발급받을 수 있습니다.
카카오 로그인을 완료해 서비스 서버에서 토큰을 발급받으면, 서비스 서버에서 액세스 토큰으로 사용자 정보 가져오기를 호출해 회원 가입 및 로그인에 필요한 사용자 정보를 요청할 수 있습니다. 액세스 토큰을 서비스 클라이언트로 전달해 토큰 할당하면, 서비스 클라이언트에서도 JavaScript SDK를 통한 카카오 API 요청에 사용할 수 있습니다.
JavaScript SDK로 Kakao.Auth.authorize 함수를 호출할 때는 SDK 초기화 시 사용된 JavaScript 키를 사용합니다. 하지만 REST API로 토큰 받기를 요청할 때는 REST API 키를 사용해야 합니다.
간편로그인 이외의 카카오 API를 클라이언트에서 JavaScript SDK로 호출하려면 액세스 토큰(Access token) 값을 할당해야 합니다.
카카오 로그인 완료 후 Kakao.Auth.setAccessToken
함수를 호출해 서비스 서버에서 전달받은 액세스 토큰 값을 JavaScript SDK에서 사용하도록 할당할 수 있습니다.
Kakao.Auth.setAccessToken('${ACCESS_TOKEN}');
간편로그인 요청 시 사용할 수 있는 추가 기능을 안내합니다.
추가 항목 동의 받기는 사용자가 동의하지 않은 동의항목에 대한 추가 동의를 요청할 때 사용하는 추가 기능입니다. Kakao.Auth.authorize()
함수 호출 시 scope
파라미터로 추가 동의받을 항목의 ID 목록을 지정합니다. 응답으로 받은 인가 코드로 토큰 받기를 요청해 카카오 로그인을 완료한 뒤, 이후 카카오 API 요청 시 새로 발급받은 토큰을 사용해야 합니다. 아래는 scope
에 이메일, 성별의 추가 동의를 요청하는 예제입니다.
Kakao.Auth.authorize({
redirectUri: '${REDIRECT_URI}',
scope: 'account_email,gender',
});
OpenID Connect를 사용하는 앱의 경우, 추가 항목 동의 받기 요청 시 동의항목 키를 전달하는 scope 파라미터 값에 openid를 반드시 포함해야 합니다. 해당 파라미터 값을 포함하지 않을 경우, ID 토큰이 재발급되지 않습니다. (참고: 인가 코드 받기 API의 scope 파라미터)
카카오톡에서 자동 로그인은 카카오톡 인앱브라우저를 통한 서비스 페이지 진입 시 서비스 가입 여부에 따른 분기 처리를 지원하는 추가 기능입니다. 이해하기에서 자세한 안내를 확인한 후 사용해야 합니다. 간편로그인 요청 시 prompt
파라미터 값을 none
으로 지정합니다.
Kakao.Auth.authorize({
redirectUri: '${REDIRECT_URI}',
prompt: 'none',
});
서비스 가입을 완료하지 않아 아직 앱과 연결되지 않은 사용자인 경우, 아래와 같이 사용자 동의가 필요하다는 에러 응답이 redirect_uri
로 전달됩니다. 이 경우, 사용자가 직접 서비스 페이지를 통해 카카오 로그인 및 서비스 가입을 해야 합니다.
HTTP/1.1 302 Found
Content-Length: 0
Location: ${REDIRECT_URI}?error=consent_required&error_description=user%20consent%20required.
카카오싱크를 도입한 서비스만 사용할 수 있는 기능입니다.
서비스 약관 선택해 동의 받기는 카카오 로그인 동의 화면에 포함할 서비스 약관을 지정하는 추가 기능입니다. 사용자의 서비스 가입 시나리오에 따라 앱에 등록된 서비스 약관 중 특정 서비스 약관을 지정해 동의받고자 할 때 사용합니다. 간편로그인 요청 시 serviceTerms
파라미터로 동의 화면에 포함할 서비스 약관 태그 목록을 지정합니다. 요청 시 [필수 동의]로 설정된 서비스 약관을 하나 이상 포함해야 동의 화면을 출력하고 사용자에게 동의받을 수 있습니다.
Kakao.Auth.authorize({
redirectUri: '${REDIRECT_URI}',
serviceTerms: 'account_email',
});
기존 로그인 여부와 상관없이 로그인하기는 서비스의 필요에 따라 사용자 인증을 다시 수행하고자 할 때 사용하는 추가 기능입니다. 이 기능을 사용하면 사용자가 브라우저에 카카오계정으로 로그인되어 있는 상태라도 다시 카카오계정으로 로그인하는 과정을 거쳐 서비스에 카카오 로그인하도록 할 수 있습니다. 간편로그인 요청 시 prompt
파라미터 값을 login
으로 지정합니다.
Kakao.Auth.authorize({
redirectUri: '${REDIRECT_URI}',
prompt: 'login',
});
인가 코드 받기 요청 시 loginHint
파라미터를 사용하면, 해당 파라미터 값이 ID란에 자동 입력된 카카오계정 로그인 화면을 호출합니다. 로그인 힌트 주기를 참고합니다.
Kakao.Auth.authorize({
redirectUri: '${REDIRECT_URI}',
loginHint: '${HINT}'
});
JavaScript SDK를 사용해 로그인 힌트 주기를 요청할 경우 prompt
파라미터와 함께 사용 가능합니다. 로그인 힌트 주기를 참고합니다.
Kakao.Auth.authorize({
redirectUri: '${REDIRECT_URI}',
prompt: 'none',
loginHint: '${HINT}',
});
카카오계정 간편로그인을 사용하려면 prompt
파라미터의 값을 select_account
로 지정해 카카오 로그인을 요청합니다.
Kakao.Auth.authorize({
redirectUri: '${REDIRECT_URI}',
prompt: 'select_account',
});
레퍼런스 | 앱 설정 |
---|---|
Kakao.Auth.logout() |
설치 초기화 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 |
필요 | - |
현재 로그인한 사용자를 로그아웃 처리합니다.
서비스의 로그아웃은 직접 구현해야 합니다. Kakao.Auth.logout()
함수는 로그인 시 발급받은 토큰을 만료시키지만, 카카오계정의 로그아웃이나 서비스의 로그아웃에 영향을 주지 않습니다.
사용자가 로그아웃 버튼을 눌렀을 때 Kakao.Auth.logout()
함수를 호출하면, 사용자의 액세스 토큰이 만료되어 카카오 API를 호출할 수 없습니다.
Kakao.Auth.logout()
은 Promise
를 반환합니다. 요청 성공 시 반환 내용은 REST API를 참고합니다.
Kakao.Auth.logout()
.then(function(response) {
console.log(Kakao.Auth.getAccessToken()); // null
})
.catch(function(error) {
console.log('Not logged in.');
});
레퍼런스 | 앱 설정 |
---|---|
Kakao.API.request() |
설치 초기화 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 |
필요 | - |
사용자 카카오계정과 앱의 연결을 해제합니다.
연결 끊기는 사용자와 카카오디벨로퍼스 앱의 연결을 해제하지만, 서비스 탈퇴에 영향을 주지 않습니다. 서비스 탈퇴 처리는 직접 구현해야 합니다. 연결 끊기를 직접 호출한 경우가 아닌, 사용자가 서비스와의 연결을 직접 끊었을 때 알림을 받으려면 연결 끊기 알림을 사용합니다.
Kakao.API.request()
함수를 호출합니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
url | String |
/v1/user/unlink 로 고정 |
O |
Kakao.API.request()
는 Promise
를 반환합니다. 요청 성공 시 반환 내용은 REST API를 참고합니다.
Kakao.API.request({
url: '/v1/user/unlink',
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
레퍼런스 | 앱 설정 |
---|---|
Kakao.API.request() |
설치 초기화 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 동의항목 |
필요 | 필요: 사용자 정보를 요청할 모든 동의항목 |
현재 로그인한 사용자의 카카오계정 정보를 불러옵니다.
Kakao.API.request()
함수를 호출합니다.
property_keys
파라미터로 특정 사용자 정보만 지정해 요청할 수도 있습니다. 해당 파라미터에 사용할 수 있는 키의 종류는 REST API를 참고합니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
url | String |
/v2/user/me 로 고정 |
O |
data | Object |
API에 전달할 파라미터 | X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
property_keys | String[] |
요청할 사용자 정보 종류를 지정할 때 사용하는 사용자 정보의 키 목록 사용자 정보 참고 (예: ['kakao_account.email','kakao_account.gender'] ) |
X |
Kakao.API.request()
는 Promise
를 반환합니다. 요청 성공 시 반환 내용은 REST API를 참고합니다.
Kakao.API.request({
url: '/v2/user/me',
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
data
하위의 property_keys
파라미터를 사용해 특정 사용자 정보만 조회할 수 있습니다.
Kakao.API.request({
url: '/v2/user/me',
data: {
property_keys: ['kakao_account.email', 'kakao_account.gender'],
},
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
레퍼런스 | 앱 설정 |
---|---|
Kakao.API.request() |
설치 초기화 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 사용자 프로퍼티 |
필요 | - |
사용자 프로퍼티에 값을 저장합니다.
Kakao.API.request()
함수를 호출합니다. 아래 파라미터를 사용합니다. data
하위의 properties
파라미터에 저장할 사용자 정보의 키와 값을 전달해야 합니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
url | String |
/v1/user/update_profile 로 고정 |
O |
data | Object |
API에 전달할 파라미터 | O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
properties | Object |
저장할 사용자 정보, JSON 형식의 키와 값 쌍으로 구성 (예: {'${CUSTOM_PROPERTY_KEY}': '${CUSTOM_PROPERTY_VALUE}'} ) |
O |
Kakao.API.request()
는 Promise
를 반환합니다. 요청 성공 시 반환 내용은 REST API를 참고합니다.
Kakao.API.request({
url: '/v1/user/update_profile',
data: {
properties: {
'${CUSTOM_PROPERTY_KEY}': '${CUSTOM_PROPERTY_VALUE}',
},
},
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
레퍼런스 | 앱 설정 |
---|---|
Kakao.Auth.selectShippingAddress() Kakao.API.request() |
설치 초기화 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
필요: 동의항목 | 플랫폼 등록 카카오 로그인 활성화 동의항목 |
필요 | 필요: 배송지 정보(shipping_address) |
사용자가 서비스에 제공할 배송지를 직접 선택할 수 있는 배송지 피커를 불러오고, 선택된 배송지의 ID를 제공합니다.
Kakao.Auth.selectShippingAddress()
함수를 호출합니다.
이 함수는 서비스에 사용자 카카오계정의 전체 배송지 정보를 제공하지 않으며, 사용자가 선택한 특정 배송지의 ID인 addressId
를 반환합니다. addressId
를 사용해 배송지 가져오기를 요청해 해당 배송지의 정보를 제공받을 수 있습니다.
에러 발생 시 문제 해결에서 원인을 확인합니다.
// 배송지 선택하기
Kakao.Auth.selectShippingAddress()
.then(function(selectedAddress) {
// 배송지 가져오기
return Kakao.API.request({
url: '/v1/user/shipping_address',
data: {
address_id: selectedAddress.address_id,
},
});
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
배송지 ID에 해당하는 특정 배송지 또는 전체 배송지 목록을 제공합니다.
Kakao.API.request()
함수를 호출합니다. data
하위의 address_id
에 상세 정보를 조회할 배송지 ID를 지정할 수 있습니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
url | String |
/v1/user/shipping_address 로 고정 |
O |
data | Object |
API에 전달할 파라미터 | X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
address_id | Number |
배송지 ID 배송지 ID는 배송지 선택하기 또는 배송지 가져오기 응답을 통해 확인 가능 |
X |
from_updated_at | Number |
배송지 정보가 많아 여러 페이지에 걸쳐 응답이 제공될 때, 기준이 되는 배송지 updated_at 시각현재 페이지의 마지막 updated_at 시각을 from_updated_at 값으로 전달해 다음 페이지 요청 가능 |
X |
page_size | Number |
한 페이지에 포함할 배송지 개수(최소값: 2, 기본값: 10) | X |
Kakao.API.request()
는 Promise
를 반환합니다. 요청 성공 시 응답 정보는 REST API를 참고합니다.
배송지 선택하기 API를 사용하지 않는 경우, 사용자가 [배송지 정보] 동의항목에 동의하지 않아 배송지를 제공받을 수 없는 경우가 발생할 수 있습니다. 배송지 가져오기 응답에 배송지가 포함되지 않은 경우를 참고합니다.
에러 발생 시 문제 해결에서 원인을 확인합니다.
Kakao.API.request({
url: '/v1/user/shipping_address',
data: {
address_id: ${ADDRESS_ID},
},
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
레퍼런스 | 앱 설정 |
---|---|
Kakao.API.request() |
설치 초기화 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 동의항목 |
필요 | - |
사용자가 동의한 동의항목의 상세 정보를 조회합니다.
앱의 동의항목([내 애플리케이션] > [카카오 로그인] > [동의항목] 에서 설정한 항목)과 사용자가 동의한 동의항목의 상세 정보를 반환합니다. 사용자가 기존에 동의했던 항목은, 현재 앱의 설정과 상관없이 반환 내용에 포함됩니다.
Kakao.API.request()
함수를 호출합니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
url | String |
/v2/user/scopes 로 고정 |
O |
data | Object |
API에 전달할 파라미터 | X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
scopes | String[] |
특정 동의항목에 대한 상세 정보만 불러오려는 경우 사용하는 동의항목의 ID 목록 동의항목 ID는 [내 애플리케이션] > [카카오 로그인] > [동의항목] 참고 (예: ['account_email','gender'] ) |
X |
Kakao.API.request()
는 Promise
를 반환합니다. 요청 성공 시 반환 내용은 REST API를 참고합니다.
Kakao.API.request({
url: '/v2/user/scopes',
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
특정 동의항목의 상세 정보만 확인하려면, data
하위의 scopes
파라미터로 동의항목 ID를 지정합니다. 요청 성공 시 지정한 동의항목의 정보만 반환합니다.
Kakao.API.request({
url: '/v2/user/scopes',
data: {
scopes: ['account_email', 'gender'],
},
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
레퍼런스 | 앱 설정 |
---|---|
Kakao.API.request() |
설치 초기화 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 동의항목 |
필요 | - |
사용자가 동의한 동의항목에 대한 동의를 철회합니다.
동의 내역 확인하기 API를 통해 조회한 동의항목의 상세 정보 중, 동의 철회 가능 여부(revocable
) 값이 true
인 동의항목만 철회 가능합니다. 철회가 불가능한 항목을 대상으로 요청한 경우 에러를 반환합니다.
Kakao.API.request()
함수를 호출합니다. 아래 파라미터를 사용합니다. data
하위의 scopes
파라미터에 철회할 동의항목의 ID를 지정해야 합니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
url | String |
/v2/user/revoke/scopes 로 고정 |
O |
data | Object |
API에 전달할 파라미터 | O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
scopes | String[] |
동의를 철회할 동의항목 ID 목록 동의 내역 확인하기 API 응답에서 동의 철회 가능 여부( revocable ) 값이 true 인 동의항목만 철회 가능동의항목 ID는 [내 애플리케이션] > [카카오 로그인] > [동의항목] 참고 (예: ['account_email','gender'] ) |
O |
Kakao.API.request()
는 Promise
를 반환합니다. 요청 성공 시 반환 내용은 REST API를 참고합니다.
Kakao.API.request({
url: '/v2/user/revoke/scopes',
data: {
scopes: ['account_email', 'gender'],
},
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
레퍼런스 | 앱 설정 |
---|---|
Kakao.API.request() |
설치 초기화 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
필요: 카카오싱크 | 플랫폼 등록 카카오 로그인 활성화 동의항목 간편가입 |
필요 | - |
카카오싱크를 도입한 서비스만 사용할 수 있는 기능입니다.
서비스 약관에 대한 사용자 동의는 서비스 약관 운용 정책에 따라 서비스에서 직접 관리해야 합니다. 카카오싱크 간편가입 시 동의받지 않은 서비스 약관은 자체적인 동의 절차로 동의받는 것을 권장합니다. 단, 필수 서비스 약관은 서비스 약관 선택해 동의 받기로 사용자에게 동의를 요청할 수 있습니다.
사용자가 어떤 서비스 약관에 동의하고 로그인했는지 확인합니다.
Kakao.API.request()
함수를 호출합니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
url | String |
/v2/user/service_terms 로 고정 |
O |
data | Object |
API에 전달할 파라미터 | X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
result | String |
조회할 서비스 약관 목록, 다음 중 하나agreed_service_terms : 사용자가 동의한 서비스 약관 목록(기본값)app_service_terms : 앱에 사용 설정된 서비스 약관 목록 |
X |
tags | String |
조회할 서비스 약관 태그, result 로 지정한 목록 내 서비스 약관으로 한정여러 태그를 쉼표( , )로 구분한 하나의 문자열로 전달 |
X |
Kakao.API.request()
는 Promise
를 반환합니다. 요청 성공 시 반환 내용은 REST API를 참고합니다.
Kakao.API.request({
url: '/v2/user/service_terms',
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
사용자가 동의한 서비스 약관의 동의를 철회합니다. 사용자 약관 동의 내역 확인하기 응답의 동의 철회 가능 여부(revocable
) 값이 true
인 서비스 약관만 철회 가능합니다.
Kakao.API.request()
함수를 호출합니다. data
하위의 tags
파라미터에 동의 철회할 서비스 약관의 태그를 문자열 리스트(List of Strings)로 전달해야 합니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
url | String |
/v2/user/revoke/service_terms 로 고정 |
O |
data | Object |
API에 전달할 파라미터 | O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
tags | String |
동의 철회할 서비스 약관 태그 여러 태그를 쉼표( , )로 구분한 하나의 문자열로 전달비고: 서비스 약관 동의 내역 확인하기 API 응답에서 동의 철회 가능 여부( revocable ) 값이 true 인 서비스 약관만 철회 가능 |
O |
Kakao.API.request()
는 Promise
를 반환합니다. 요청 성공 시 반환 내용은 REST API를 참고합니다.
Kakao.API.request({
url: '/v2/user/revoke/service_terms',
data: {
tags: 'test_tag1,test_tag2'
},
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
서비스 약관 동의 내역 확인하기 요청 시 앱에 설정된 전체 서비스 약관 목록을 조회하려면 result
를 app_service_terms
로 지정해 요청합니다.
Kakao.API.request({
url: '/v2/user/service_terms',
data: {
result: 'app_service_terms',
},
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
서비스 약관 동의 내역 확인하기 요청 시 특정 서비스 약관만 조회하려면 data
하위의 tags
파라미터에 해당 서비스 약관의 태그를 지정해 요청합니다.
Kakao.API.request({
url: '/v2/user/service_terms',
data: {
tags: 'test_tag1,test_tag2'
},
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
레퍼런스 | 앱 설정 |
---|---|
Kakao.API.request() |
설치 초기화 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
필요: 수동 연결 설정 | 플랫폼 등록 카카오 로그인 활성화 |
필요 | - |
연결하기는 자동 연결을 사용하지 않는 앱에서만 사용하는 API입니다. 자세한 정보는 REST API를 참고합니다.
연결하기 API는 자동 연결을 [사용 안함]으로 설정한 앱에서 앱과 사용자를 수동으로 연결하는 기능입니다. 자동 연결은 카카오 로그인 완료 시 앱과 사용자를 자동으로 연결하는 기능으로, 필요 시 카카오와 협의를 거쳐 자동 연결의 사용 여부를 설정할 수 있습니다. 다음은 앱과 사용자를 수동으로 연결하고자 하는 경우의 예시입니다.
Kakao.API.request()
함수를 호출합니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
url | String |
/v1/user/signup 로 고정 |
O |
data | Object |
API에 전달할 파라미터 | X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
properties | Object |
{"key":"value"} 형태의 사용자 정보 리스트 연결하기 시 사용자 프로퍼티 값을 저장하고자 할 때 전달 사용자 프로퍼티, 사용자 정보 저장하기 참고 |
X |
Kakao.API.request()
는 Promise
를 반환합니다. 요청 성공 시 반환 내용은 REST API를 참고합니다.
Kakao.API.request({
url: '/v1/user/signup',
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
연결하기 요청 시 사용자 프로퍼티 값을 저장하려면 data
하위의 properties
파라미터에 키와 값 쌍을 전달합니다.
Kakao.API.request({
url: '/v1/user/signup',
data: {
properties: {
'${CUSTOM_PROPERTY_KEY}': '${CUSTOM_PROPERTY_VALUE}',
},
},
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});