세가지 방식을 통한 로그인 처리
1. session
입장권을 발급받아 그 입장권에 유저의 세션 id를 저장하고 서버나 DB에 보관한다.
장점
유저가 입장권을 관리하지 않기 때문에 token에 비해 보안이 철저하다.
단점
유저가 get, post 요청을 할 때마다 DB 조회를 하기때문에 과부하가 걸릴 수 있다.
2. token
유저에게 유저의 정보가 담긴 입장권을 직접 발급한다.
유저가 입장권을 조작은 못 하는게 해당 정보를 짧은 문자열로 암호화하기에 저장된 값과 다르면 응답을 받을 수 없다.
장점
유저가 직접 입장권을 관리하기 때문에 대규모의 데이터를 관리할 때도 DB에 부담이 덜하다.
단점
유저가 직접 입장권을 관리하는 만큼 그 입장권이 해킹당하면 서버에선 막을 수단이 없다.
session || token 차이점
세션은 유저의 정보와 세션 id라는 고유 값을 저장하고 유저에게 보낼 땐 세션 id만 보낸다.
유저는 해당 id를 가지고 서버에 요청을 보내고 비교한 후, DB에 접근할 수 있다.
토큰은 DB에 접근할 필요가 없이 입장권에 유저에 대한 많은 정보를 저장하고 발급한다.
3. OAuth
웹에 대한 유저의 사용권한을 빌려 서로 공유하는 방법
회원 정보 또한 공유가 가능하다.
'spring boot' 카테고리의 다른 글
JPA / spring boot (TemplateInputException, dotenv, spring-security / Bcrypt) 회원가입 완성 (1) | 2024.09.17 |
---|---|
JPA / spring boot (spring security, 회원가입 && 로그인 기능 feat. Bcrypt, RSA) (0) | 2024.08.22 |
JPA / spring boot (JPA , ORM, Hibernate) (0) | 2024.08.19 |
JPA / spring boot (JPA , ORM, Hibernate) (0) | 2024.08.11 |
JPA / spring boot 게시글 수정 (0) | 2024.08.08 |