@bizworks-kr/capacitor-social-login
v1.0.3
Published
Capacitor plugin for social login (Kakao, Naver, Google, Apple) on iOS and Android
Readme
@bizworks-kr/capacitor-social-login
Capacitor plugin for social login (Kakao, Naver, Google, Apple) on iOS and Android.
Installation
npm install @bizworks-kr/capacitor-social-login
npx cap syncSetup
iOS
Add URL schemes to Info.plist:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>kakao{YOUR_KAKAO_APP_KEY}</string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>kakaokompassauth</string>
<string>kakaolink</string>
<string>naversearchapp</string>
<string>naversearchthirdlogin</string>
</array>Apple 로그인은 Xcode에서 Signing & Capabilities → Sign In with Apple 추가 필요.
Android
Add to android/app/build.gradle:
manifestPlaceholders = [
kakaoScheme: "kakao{YOUR_KAKAO_APP_KEY}"
]Usage
import { BizworksSocialLogin } from '@bizworks-kr/capacitor-social-login';
// Kakao Login
const kakaoResult = await BizworksSocialLogin.kakaoLogin();
console.log(kakaoResult.accessToken);
// Kakao Get User Info
const userInfo = await BizworksSocialLogin.kakaoGetUserInfo();
console.log(userInfo.kakaoAccount?.email);
// Kakao Logout
await BizworksSocialLogin.kakaoLogout();
// Naver Login
const naverResult = await BizworksSocialLogin.naverLogin();
console.log(naverResult.accessToken);
// Naver Logout
await BizworksSocialLogin.naverLogout();
// Google Login
const googleResult = await BizworksSocialLogin.googleLogin();
console.log(googleResult.accessToken);
// Google Logout
await BizworksSocialLogin.googleLogout();
// Apple Login (iOS only)
if (Capacitor.getPlatform() === 'ios') {
const appleResult = await BizworksSocialLogin.appleLogin();
console.log(appleResult.user);
}API
Kakao
| Method | Return Type |
|--------|-------------|
| kakaoLogin() | Promise<KakaoLoginResult> |
| kakaoLogout() | Promise<void> |
| kakaoGetUserInfo() | Promise<KakaoUserInfo> |
Naver
| Method | Return Type |
|--------|-------------|
| naverLogin() | Promise<NaverLoginResult> |
| naverLogout() | Promise<void> |
| Method | Return Type |
|--------|-------------|
| googleLogin() | Promise<GoogleLoginResult> |
| googleLogout() | Promise<void> |
Apple (iOS only)
| Method | Return Type |
|--------|-------------|
| appleLogin() | Promise<AppleLoginResult> |
Types
interface KakaoLoginResult {
accessToken: string;
refreshToken?: string;
idToken?: string;
expiresIn?: number;
}
interface KakaoUserInfo {
id: string;
kakaoAccount?: {
email?: string;
name?: string;
profile?: {
nickname?: string;
profileImageUrl?: string;
thumbnailImageUrl?: string;
};
};
}
interface NaverLoginResult {
accessToken: string;
refreshToken?: string;
expiresAt?: number;
}
interface GoogleLoginResult {
idToken?: string;
accessToken: string;
email?: string;
name?: string;
givenName?: string;
familyName?: string;
imageUrl?: string;
userId?: string;
}
interface AppleLoginResult {
user: string;
identityToken?: string;
authorizationCode?: string;
email?: string;
fullName?: string;
givenName?: string;
familyName?: string;
}License
MIT
