[인증] Session, Token 방식이란? (+ OAuth)

Halo·2025년 5월 23일
0

JAVA/Spring

목록 보기
9/15
post-thumbnail

👀 설명

가. Session

  1. 로그인 성공시, 사용자에게 Session ID가 적혀있는 입장권을 준다.
  2. 이를 DB에서 확인 후, 유효하다고 판단되면 서버와 통신을 허락해준다.

나. JPT(Json Web Token)

  1. 로그인 성공시, 사용자에게 ID, 로그인날짜, 유효성 등의 정보가 담긴 Token을 발급
  2. 서버와 통신할 때마다, 서버가 Token안의 값들을 확인하고 유효하면 통신시켜줌.

    필자님! 사용자가 토큰안에 내용들을 조작해서 그냥 통신할 수 있지 않나요??
    -> 조작은 가능하지만, 애초에 토큰 안의 아이디들은 암호화되어 있고 서버에서 토큰의 데이터들이 기존값들과 다른 것을 확인하면 조작되었다고 판단 할 수 있습니다. 그래서 조작해봤자 의미가 없기도 하고 암호화 되었기 때문에 조작을 하기 거의 불가능하고 할 수 있씁니다.

다. OAuth
OAUTH는 로그인을 하지 않고도 다른 홈페이지의 리소스에 접근할 수 있는 권한 부여 방법이다. 즉, 페이스북에 게시글 올리는 것을 다른 사이트에서 할 수 있게 하는 것이다. 나의 페이스북에서 특정 사이트에 권한 주는 것을 허락했다면, 그 특정사이트에서 페이스북을 올릴 수 있게 하는 것이다!



💁🏻 고찰

가. OAuth는 권한 부여 표준이다. 에서 "표준"의 의미는?
표준은 해당 분야에서 공식적인 대표 방법이 되는, 모든 사람이 따르도록 권장되는 방법이나 프로토콜을 의미합니다.

profile
새끼 고양이 키우고 싶다

0개의 댓글