-
인증 방식 (세션, 토큰)JavaScript 2023. 4. 4. 02:33
세션
- 전통적인 방식으로 쿠키를 사용한다.
- 사용자가 서버에 로그인 요청을 보내면, 서버는 세션에 저장하고 브라우저에 세션ID를 보낸다.
- 브라우저는 세션ID를 쿠키에 저장하고, 브라우저는 서버에 요청 보낼때마다 쿠키를 함께 보낸다.
- 서버는 쿠키에 있는 세션ID가 서버에 저정되어 있다면 응답 보내준다.
토큰
- 세션 방식은 서버에서 데이터를 저장하기 때문에 동시접속자가 많으면 관리 어렵다. 이러한 문제 해결하는 것이 토큰 방식.
- 대표적으로 JWT(JSON Web Tokens)가 있다.
- 사용자가 로그인 요청을 보내면 서버는 JWT를 브라우저에 보낸다. JWT는 Header, Payload, Signature로 구성된다.
- 브라우저는 JWT를 LocalStorage에 저장하고, 사용자가 요청을 보낼 때마다 Header에 JWT부착해 서버에 보낸다.
- 서버는 JWT의 Signature를 확인해 맞다면 응답을 보낸다.
JWT방식(Json Web Token)
- Json포맷을 이용해 사용자에 대한 속성을 저장하는 claim 기반의 web token.
- 토큰 자체를 정보로 사용하는 Self-contained 방식으로, 정보 안전하게 전달.
- 별도의 브라우저 저장소에 저장하지 않고, JWT 발급하고 검증하면 된다.
- 확장성이 뛰어나다
- Payload 정보가 제한적
- JWT길이가 길다
- 사용 예 : 회원 인증, 정보 전달
'JavaScript' 카테고리의 다른 글
new (0) 2023.04.04 프로토타입 (Prototype) (0) 2023.04.04 스코프 (0) 2023.04.04 실행 컨텍스트(Execution Context) (0) 2023.04.04 이벤트 Event (이벤트 버블링, 이벤트 캡쳐링, 이벤트 위임) (0) 2023.04.03