dukDukz
21.05.24 kakao 로그아웃 본문
1. index.html
html에 이러한 링크를 만들고
2. server.js
라우터에 get 부분으로 이 링크를 받아주는 부분을 만든다.
app.get('/auth/kakao/unlink', authMiddleware, async (req,res)=>{
const {session} = req;
const {access_token} = session.authData.kakao;
// 요청 - axios 비동기로 요청하기 (async 필요)
// 카카오에게 접속을 종료하겠다는 것을 요청하겠다 - 그걸 unlink에 담는다
// 요청 실패시를 대비해서 try catch 문을 사용했다.
let unlink;
try {
unlink = await axios({ //Promise 객체를 unlink에 넘겨주고
method : "POST",
url:"https://kapi.kakao.com/v1/user/unlink",
headers:{
Authorization : `Bearer ${access_token}`
}
})
} catch (error) {
res.json("에러 error.data = ",error.data);
}
console.log("언링크 unlink.data = ",unlink.data);
// 이 값이 떨어진 이유는 이미 카카오 측에서는 우리 아이디를 로그아웃 or 회원탈퇴 완료
// 나도 처리해줘야할게 있다 - session을 지워줘야 함
const {id} = unlink.data;
// id가 일치하면 세션 지워주기
if(session.authData["kakao"].id == id){
delete session.authData;
}
res.redirect('/?msg=로그아웃 되셨습니다.')
})
확인을 위해
카카오 로그인 - 카카오 탈퇴 버튼을 눌러보면
이러한 alert 창이 뜬다
이 값이 떨어진 이유는 이미 카카오 측에서는 우리 아이디를 로그아웃 or 회원탈퇴 완료했다는 뜻이다.
이제 우리가 처리해줘야 할건 내 session에 있는 회원정보를 지워주는 것이다.
'웹 개발 > Node JS' 카테고리의 다른 글
http 통신 (get, post 요청 응답) - 상세 설명 (2) | 2021.05.25 |
---|---|
21.05.24 local 로그인 & 공통(local, kakao) 로그아웃 (1) | 2021.05.24 |
21.05.24 kakao 로그인 체크 미들웨어 사용 (4) | 2021.05.24 |
210511 (회원 가입) 이미지 파일 올리기 (2) | 2021.05.11 |
210511 app.get() 에서 여러 개의 미들웨어 (콜백함수) 사용 - next 활용 (2) | 2021.05.11 |