[Auth] session 기반의 인증

강버섯·2022년 2월 14일
1

AUTHORIZATION

목록 보기
5/9

session을 사용하는 인증 방식은 stateful한 인증 방식이다.
👉 이전에 session 인증에 대해 적어둔 글

위의 글에서 적어두었듯이 session을 관리하기 위한 방법으로는

  1. session에 대한 정보를 저장해두고 cookie를 통해 session id를 받아 처리하기
  2. 매 요청마다 session id를 query string으로 붙여 처리하기

가 존재한다.
표준으로는 cookie를 사용한 session 처리를 사용하며 이 외에, local storage, indexed DB에 저장하는 방식도 있다.
session을 직접 이용하지 않고 cookie를 사용하는 방식을 선택하는 이유는 session은 서버에 저장이 되므로 사용자가 늘어날 경우 소비되는 자원의 양이 상당히 커지기 때문이다.
따라서 session이 cookie에 비해 보안상 좋지만 session만이 아닌 cookie를 함께 사용한다.

  • session : 일정 시간 동안 같은 브라우저로부터 들어오는 요구들을 하나의 상태로 보고 일정하게 유지시킴
  • cookie : 서버에서 사용자의 PC에 기록하는 작은 파일로 매 요청마다 왔다갔다하는 정보

session data는 사용자에 대한 정보로 보안상 중요한 정보이기 때문에, secret key으로 encode되어 있다.
따라서 session을 사용하기위해서는 secret key를 꼭 필요로 하며, config 값으로 저장되어있다.
session data는 cookie로 전달받은 session id(key)를 통해 접근이 가능하며, load될 때 secret key를 이용하여 decode된다.

authorization code grant 방식의 인증과 같은 경우는 login된 상태를 필요로 하는 방식이기 때문에 session 관리를 필요로 한다.

profile
무럭무럭 버섯농장

0개의 댓글