codestates / codestates/WeGreen

[Error-Log : 윤보라] #03 - clearCookie후에도 accessToken이 삭제되지 않을 때

Open
#201 0 comments 0 reactions 1 assignee Claimed by @boraborayoon View on GitHub
Server
Dominant language
JavaScript
Stars
0
Forks
4
PR merge metrics
No merged PRs in 30d

Description

### **어떤 에러인가요?**
- HTTP에서는 로그아웃 하면 cookie에 있던 accessToken이 지워졌다. 배포 후 HTTPS에서는 로그아웃 후에도 accessToken이 남아있어 다른 사용자가 로그인을 해도 웹은 여전히 이전 사용자가 웹을 이용하고 있다고 인지하였다.

### **에러 메시지**
N/A

### **에러 핸들링 방법**
#### 1. Popular 요청헤더
accessToken=eyJhb~~~cPK3OL84;
accessToken=eyJhb~~~WVoueQCc

#### 2-1. 로그아웃 요청헤더
accessToken=eyJhb~~~_cPK3OL84;
accessToken=eyJhb~~~WVoueQCc

#### 2-2. 로그아웃 응답헤더는 토큰 없음
->응답에 토큰이 없어서 res.clearCookie()는 잘 작동하는 듯 했다.

#### 3. 로그인 응답헤더
accessToken=eyJhb~~~JcrvxOcxVI; -> 다시 로그인을 시도

#### 4. Popular 요청헤더
accessToken=eyJhb~~~cPK3OL84; -> 좀비처럼 다시 살아난 좀비토큰...
accessToken=eyJhb~~~JcrvxOcxVI -> 로그인 시 얻은 올바른 토큰..

=> 로그아웃 시, res.clearCookie()는 잘 작동하나 이전에 이미 사라졌던 토큰이 다시 나타난것으로 보아
로그아웃이 문제가 아니라 쿠키 자체의 삭제가 필요해보였다. express의 clearCookie에 굉장히 작은 글씨로.. expires,maxAge을 제외한 기존 설정값과 같을 때만 삭제할 수 있다는 문구를 보았다.
```"Web browsers and other compliant clients will only clear the cookie if the given options is identical to those given to res.cookie(), excluding expires and maxAge"```

=> 그리고 혹시 좀비처럼 사라지지않는 쿠키이 있다면 웹사이트 옵션에서 삭제 한 후에 변경한 코드를 수정하였다. 그 좀비 쿠키는 정확히 어떤 옵션일 때 생겼는지 모르는 쿠키이기 때문에 영영 사라지지 않을 수도 있기때문이다.

=> 이후 새로 생기는 쿠키는 로그아웃 및 회원탈퇴시 잘 지워지는것을 확인하였다.

### **에러 핸들링을 위해 참고한 레퍼런스 링크**
[http://expressjs.com/en/4x/api.html](express공식문서)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.