안녕하세요 웹프론트쪽에서 카카오로그인 api 를 사용하려고 합니다.
먼저 헷갈리는 부분이, javascript 와 rest api 두 가지 방법을 다 사용할 수 있는건가요?
javascript 로 하는것과 rest api 로 구현하는 방법이 어떻게 다른지 이해가 잘 안됩니다
그리고 javascript 부분을 보다보니까 인가코드 받거나 토큰 발급받는 부분은 또 rest api 방식을 사용해야되던데
그럼 그 두 가지 방법이 섞어져서 사용할 수 있는건가요?
그리고 제가 일단 javascript 방법으로 구현해보고 있는데요,
로그인하기 버튼을 사용자가 누르면 모달창이 뜨고, 그 모달 안에 카카오 로그인 버튼을 넣었습니다.
카카오 로그인 버튼을 누르면
const params = {
redirectUri:‘http://localhost’,
}
window.Kakao.Auth.authorize(params);
이 코드 때문에
kauth.kakao.com/oauth/authorize?client_id=어쩌구
이 주소로 넘어가는데요, 이렇게 다른 페이지로 넘어갈 수밖에 없는건가요?
사용자가 볼 때 다른 페이지로 넘어가지 않고 기존 페이지에서 동의 화면을 띄울 수는 없나요?
인가코드랑 토큰 발급 과정을 거치려면 무조건 그 페이지에서 벗어나야 되는건가요?
window.Kakao.Auth.authorize(params);
이 코드말고
window.Kakao.Auth.login({
success: function () {
window.Kakao.API.request({
url: '/v2/user/me',
data: {
property_keys: [
이걸로 하면 (사용자 정보 받아오는거요)
만약 연결이 안되어있으면 카카오 로그인 버튼 누르면 다른 페이지로 넘어가지 않고
바로 작은 새로운 창이 뜨고 거기서 동의하기를 누를 수 있던데요…
근데 window.Kakao.Auth.authorize() 이 코드가 반드시 필요한거잖아요??
인가코드 받고 토큰을 발급받으려면요ㅜㅜ 맞나요???
다시 검색하다가 보니까 window.Kakao.Auth.authorize() 코드 없이 바로
window.Kakao.Auth.login({
success: function () {
window.Kakao.API.request({
url: ‘/v2/user/me’,
data: {
property_keys: [
이 코드를 사용하면 인가코드 받는 과정을 자동으로 해준다고 하는 블로그를 봤는데요!! 정말인가요??
아래 코드처럼
window.Kakao.Auth.login({
success: function () {
window.Kakao.API.request({
url: '/v2/user/me',
data: {
property_keys: [
"kakao_account.email",
"kakao_account.name",
"kakao_account.age_range",
"kakao_account.birthday",
"properties.nickname"
]
},
success: async function (response) {
console.log("kakao login success");
console.log(response);
var accessToken = Kakao.Auth.getAccessToken(); // 액세스 토큰 할당
Kakao.Auth.setAccessToken(accessToken); // 액세스 토큰 사용하게 등록
console.log("accessToken: " + accessToken);
이렇게 해보니까 accessToken 이 콘솔에 찍혀나오긴 하는데 이렇게 구현해도 되나요??