반응형
Front(SPA) 카카오 로그인 API 연동 하기(Angular)
카카오 로그인 API 연동
: 로그인 api 연동방식이 타 sns(소셜) api 에 비해 가장 심플하고 군더더기가 없어 로그인 연동 방식이 어렵지 않습니다. 상세한 부분은 아래에 카카오에서 제공하는 공식 문서를 확인 바랍니다.
* api 문서 : https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api
import { Component, NgZone, OnInit, OnDestroy } from '@angular/core';
declare const Kakao: any;
declare const $: any;
export const kakao_key = {
apiKey: '1d1112312312312312312312gasf2131'
};
@Component({
selector: 'app-kakao-login',
template: `<a href="javascript:;" (click)="Login()">카카오 로그인</a>`
})
export class KaKaoLoginComponent implements OnInit, OnDestroy {
constructor(
public ngZone: NgZone,
) {
}
public ngOnInit(): void {
// 카카오 sdk 호출
try {
setTimeout(() => {
this.load();
}, 10);
} catch (err) {
console.log(err);
}
}
public load(): void {
const Script = document.createElement('script');
Script.id = 'kakao';
Script.src = `https://developers.kakao.com/sdk/js/kakao.min.js`;
Script.async = true;
document.head.appendChild(Script);
const KakaoLogin = () => {
if (!Kakao.isInitialized()) {
Kakao.init(kakao_key.apiKey);
}
};
Script.addEventListener('load', KakaoLogin);
}
public KaKaoLoginAPI(): void {
Kakao.Auth.login({
success: () => {
Kakao.API.request({
url: '/v2/user/me',
data: {
property_keys: ['kakao_account.email', 'kakao_account.profile']
},
success: (res: any) => {
console.log(res);
},
fail: (err: any) => {
alert(`개인정보를 가져올 수 없습니다. ${JSON.stringify(err)}`);
}
});
},
fail: (err: any) => {
alert(`도메인을 확인해주세요. ${JSON.stringify(err)}`);
},
});
}
}
반응형
'개발 > front-end' 카테고리의 다른 글
Angular의 ExpressionChangedAfterItHasBeenCheckedError (0) | 2023.04.01 |
---|---|
angular 개발 최적화 방법 (0) | 2023.04.01 |
SPA기반 Front 구글 로그인 api 연동 (0) | 2023.02.24 |
SPA기반 Front 네이버 로그인 api 연동 (0) | 2023.02.23 |
angular 포커스 이동 (0) | 2023.02.13 |