Closed inuit57 closed 3 years ago
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <script src="https://developers.kakao.com/sdk/js/kakao.js"></script> <ul> <li onclick="kakaoLogin();"> <a href="javascript:void(0)"> <span>카카오 로그인</span> </a> </li> <li onclick="kakaoLogout();"> <a href="javascript:void(0)"> <span>카카오 로그아웃</span> </a> </li> <li onclick="dataCheck();"> <a href="javascript:void(0)"> <span>데이터 체크</span> </a> </li> </ul> <!-- 카카오 스크립트 --> <script src="https://developers.kakao.com/sdk/js/kakao.js"></script> <script> Kakao.init('37f8964af0801ae7c162647308ed7997'); //발급받은 키 중 javascript키를 사용해준다. console.log(Kakao.isInitialized()); // sdk초기화여부판단 //카카오로그인 var test var name function kakaoLogin() { Kakao.Auth.login({ success: function (response) { Kakao.API.request({ url: '/v2/user/me', data: { property_keys: ["properties.nickname", "kakao_account.email","kakao_account.gender"] }, // 여기에 넣은 것만 가져올 수도 있구나. 아하. success: function (response) { console.log(response) console.log(response.properties.nickname) console.log(response.kakao_account.email) //이거를 이제 저장해서 처리하면 되겠다. //console.log(JSON.stringify(response.kakao_account.email)) /* console.log("프로퍼티") console.log(response.properties.nickname) name = JSON.stringify(response.properties.nickname) test = JSON.stringify(response.kakao_account.email) */ // 이렇게 하면 일단 eamil 정보 저장 가능하다. // 이메일 받아와서 회원정보에 동일한 email이 있을 경우 // 로그인 처리를 수행해주도록 하자. /* console.log("테스트") console.log(test) console.log(name) */ // 이름, 이메일 받아와서 처리 가능. }, fail: function (error) { console.log(error) }, }) }, fail: function (error) { console.log(error) }, }) } function dataCheck(){ alert(property_keys) } //카카오로그아웃 function kakaoLogout() { if (Kakao.Auth.getAccessToken()) { Kakao.API.request({ url: '/v1/user/unlink', success: function (response) { console.log(response) }, fail: function (error) { console.log(error) }, }) Kakao.Auth.setAccessToken(undefined) } } </script> </body> </html>
이거 참고해서 작업할 것. 이름이랑 이메일 2개를 받아서 DB조회하고 일치하는 회원이 있다면 로그인 처리 진행.
없다면... 고민을 좀 해보도록 하자. 가입을 유도하거나. 연동된 계정 정보가 없습니다. 라는 식으로??
로그인을 진행한뒤 로그아웃을 했을 때 바로 href로 리다이렉트 시켜버리면 다시 로그인할 때 확인하는 창이 나오지 않고 곧바로 로그인이 되는 문제가 존재한다.
loginForm을 쓰니까 자동 로그인이 안된다. 후 왜 자동으로 로그인 처리가 된 건지는 좀더 공부하거나 해야겠다.
바로 안 넘기고 아래에 버튼 눌렀을 때 넘기면 또 제대로 로그아웃 처리가 된다는게...허허
이거 참고해서 작업할 것. 이름이랑 이메일 2개를 받아서 DB조회하고 일치하는 회원이 있다면 로그인 처리 진행.
없다면... 고민을 좀 해보도록 하자. 가입을 유도하거나. 연동된 계정 정보가 없습니다. 라는 식으로??