[Node JS] 로그인 회원가입 로그아웃 구현 #4 / 로그아웃 / 쿠키 토큰 삭제

JWT를 이용한 로그인까지 구현이 되었다면 로그아웃은 쉽게 구현할 수 있다.
쿠키를 삭제해 주면 브라우저에 토큰이 사라지므로 더이상 서버에서 유저를 확인할 방법이 없어진다.
로그인이 된 경우는 ejs파일에서만 다루므로 ejs파일에 아래처럼 로그아웃 버튼을 만든다.

<form id="signOut">
	<button type="button" onclick="signOut()">Log out</button><br><br>
</form>

onclick으로 signOut()함수를 실행하게 만들어준다. 함수의 내용은 아래와 같다.
별거 없이 그냥 해당 미들웨어를 호출한다.

<script>
	function signOut() {
		$.ajax({
			type: "get",
			url: 'http://localhost:8080/logOut',
			data: {},
			dataType:'text',
			success: function(res) {
				location.reload();
			}
		});
	}
</script>

미들웨어가 호출되면 아래와 같은 방법으로 쿠키를 지운다.

const cookieParser = require('cookie-parser');
app.use(cookieParser());
app.get('/logOut', function(req, res) {
    return res.clearCookie('user').end();
});

응답으로 쿠키를 지우고 아까 signOut함수의 success부분에서 함수가 호출되면 페이지를 새로고침하면 로그아웃이 간단하게 구현된다.

좋은 웹페이지 즐겨찾기