카카오 로그인
로그인하기
카카오 로그인하기를 이용해 회원가입, 로그인, 추가 동의내역 받기, 약관 동의시키기 등을 수행할 수 있습니다.
Usage
login()
함수를 호출해주면 바로 실행됩니다.
import { login } from '@react-native-kakao/user';
...
login()
인자
모든 인자는 optional입니다.
serviceTerms
: 서비스 약관 선택해 동의 받기는 카카오 로그인 동의 화면에 포함할 서비스 약관을 지정하는 추가 기능입니다. 사용자의 서비스 가입 시나리오에 따라 앱에 등록된 서비스 약관 중 특정 서비스 약관을 지정해 동의받고자 할 때 사용합니다. 카카오 로그인 요청 시serviceTerms
파라미터로 동의 화면에 포함할 서비스 약관 태그 목록을 지정합니다. 요청 시 [필수 동의]로 설정된 서비스 약관을 하나 이상 포함해야 동의 화면을 출력하고 사용자에게 동의받을 수 있습니다.
카카오싱크를 도입한 서비스만 사용할 수 있는 기능입니다.
prompts
: 로그인 과정을 플래그를 전달해 제어할 수 있습니다.
Login
, Create
, Cert
, UnifyDaum
, SelectAccount(Android only)
을 string[]
으로 전달할 수 있습니다.
각각이 의미하는 자세한 설명은 공식 문서를 참고해주세요.
카카오톡이 아닌 카카오 계정으로 로그인이 시도될 때 전달됩니다.
scopes
: 사용자에게 추가 동의를 받는 경우에 해당됩니다. 동의를 받아야 하는 항목들을 전달합니다.
자세한 내용은 공식 문서 를 참고해주세요.
me()
의 함수의 xxxNeedsAgreement
속성들을 확인해 추가적으로 동의를 받아야 하는 항목을 얻을 수 있습니다.
scopes
가 전달된다면 항상 카카오 계정으로 로그인하기가 실행됩니다.
useKakaoAccountLogin
: 항상 카카오톡이 아닌 카카오 계정으로 로그인을 시도합니다.
다음과 같은 조건으로 사용한다면 에러를 던집니다.
useKakaoAccountLogin
이 존재하지 않거나false
라면prompts
와scopes
를 전달할 수 없습니다.
카카오톡으로 로그인하는 기능엔 prompts
와 scopes
를 전달할 수 없게 되어있습니다(Native SDK에서).
scopes
가 전달된다면serviceTerms
와prompts
를 전달할 수 없습니다.
추가 동의를 받는 경우 serviceTerms
와 prompts
를 같이 전달할 수 없게 되어있습니다(Native SDK에서).
응답
Promise
로 토큰과 관련된 정보가 반환됩니다.
응답은 다음과 같습니다.
{
accessToken: string;
refreshToken: string;
tokenType?: string;
idToken?: string;
accessTokenExpiresAt: number; // unix
refreshTokenExpiresAt: number; // unix
accessTokenExpiresIn: number; // seconds
refreshTokenExpiresIn: number; // seconds
scopes: string[];
};
로그아웃하기
logout()
으로 로그아웃 할 수 있습니다.
계정 연동 해제하기
unlink()
로 계정 연동을 해제할 수 있습니다.
현재 로그인 상태인지 확인하기
isLogined()
로 확인할 수 있습니다. 반환값은 Promise<boolean>
입니다.
카카오톡이 사용 가능한지 확인하기
isKakaoTalkLoginAvailable()
로 확인할 수 있습니다. 반환값은 Promise<boolean>
입니다.