-
세션, JWT, OAuth등 회원인증 방법론Node.js,MongoDB 2022. 4. 12. 13:09
회원인증 방법엔 3가지가 있다.
1. session-based
어떤 사람이 form에서 로그인을 하면, 서버에서 쿠키(브라우저에 저장할 수 있는 긴 문자열)를 발행한다.
이 쿠키엔 loginUser1인 세션아이디를 저장한다. 즉, 서버 메모리에 loginUser1은 로그인을 했었다는 내용을 쿠키로 주고, 브라우전 이 쿠키를 저장한다. 그리고, 로그인이 필요한 활동을 하면 서버에 자동으로 쿠키를 보내지며 서버에서 쿠키를 찾아서 로그인했던 사람을 찾는다.
장점으론 로그인 상태를 저장하는 것이다.
2. token-based (JWT)
어떤 사람이 form에서 로그인을 하면, 서버에서 웹토큰이라는 JSON Wen Token(긴 문자열)을 발행해준다. 사용자는 브라우저에 저장하고, 로그인이 필요한 활동을 하면 웹토큰을 헤더에 함께 전송을 한다.
그러면 서버에서 토큰이 있네? 토큰검사를 하고 유효기간이 안 지났으면 요청한 내용을 전달해준다.
장점으론 유저들 로그인 상태를 저장할 필요가 없다는 것이다.
3. Open Authentication (OAuth)
다른 사이트(페북, 구글등)에서 프로필 정보를 가져와서 그대로 가져다 쓰고, 접근권한을 주는 것이다.
즉, 구글 계정 정보를 서버에 주는거 동의? 해서 email,이름, 성별 등을 받아와 계정을 만들거나 세션을 만들거나 할 수 있다.
장점으론 pw(비밀번호)가 필요없다. 단점으론 없어진 곳이 많다.
회원기능이 있다면
-로그인 했을 때만 글쓰기 가능하고,
-누가 글을 발행했는지 글쓴이를 저장할 수 있고,
-내 글만 모아서 볼 수 있다.
'Node.js,MongoDB' 카테고리의 다른 글
.env파일의 환경변수 관리 (0) 2022.04.13 Session방식 로그인 기능 구현 (0) 2022.04.12 글 수정하기 (edit기능) (0) 2022.04.12 css 사용 (0) 2022.04.08 URL 파라미터 (0) 2022.04.07