회원 인증 방식
1.session
- 로그인 정보를 세션에 저장함 (세션id를 쿠키에 담아서 서버,브라우저 둘다 저장)
- 브라우저가 로그인이 필요한 페이지(Mypage 등..)을 세션id를 포함시켜서 서버에 요청하면, 서버는 서버에 저장된 세션id와 브라우저에서 전송한 세션id가 일치하면 통과시켜줌
단점으로는 브라우저와 서버 둘다 세션을 저장해놔야한다는 점에서 좀 비효율적인것 같음
2. token(JWT)
- 브라우저는 토큰을 헤더라는 곳에 담아서 서버에 전송
- 보통 회원가입시 서버에서 토큰을 만들어서 보내주던가, 로그인할때 서버에서 토큰을 만들어서 보내줌 토큰은 암호화된 긴 문자열이며 브라우저의 쿠키나 로컬스토리지에 저장해둠
- 서버는 헤더에 담긴 토큰을 검사해서 적합하면 자료를 보내줌
단점으로는 사용자가 토큰을 갖고있다는 점에서 보안에 취약함
그래서 'refresh token' 이라고 해서, 어떤 사람이 언제 로그인했는지를 서버에 저장해두는 방식을 요즘 쓴다고 함
3. OAuth(Open Authentication)
다른 사이트의 회원 정보를 가져다 씀
ex) 구글,네이버,카카오.. 등등