codestates / codestates/WeGreen
[Error-Log : 윤보라] #03 - clearCookie후에도 accessToken이 삭제되지 않을 때
- 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.