TIL ... day 17 4주차 - Spring 2일차 또 다시 난관에 봉착... 22.05.28

BYEONGMIN CHOI·2022년 5월 28일
0

TIL(Today I Learned)

목록 보기
13/24

회원가입 서비스를 만들기 위해 인증(Authentication) 과 인가(Authorization) 의 이해가 필요했다.

  • 인증 (Authentication): 사용자 신원을 확인하는 행위
  • 인가 (Authorization): 사용자 권한을 확인하는 행위

👉 알아두면 유용한 HTTP Status Code
403 (Forbidden)
클라이언트 오류 상태. 서버에 요청이 전달되었지만, 권한 때문에 거절됨
MDN Docs) https://developer.mozilla.org/ko/docs/Web/HTTP/Status/403

또한 쿠키와 세션에 대한 내용의 이해도 필요했다.

HTTP는 상태를 저장하지 않습니다(Stateless 하다). 따라서 같은 클라이언트가 같은 요청을 하더라도 상태가 기억되지 않기 때문에 웹 서버는 같은 클라이언트의 요청인지 알 수 없습니다.

👉 쿠키와 세션 모두 HTTP 에 상태 정보를 유지(Stateful)하기 위해 사용됩니다. 즉, 쿠키와 세션을 통해 서버에서는 클라이언트 별로 인증 및 인가를 할 수 있게 됩니다.

  • 쿠키
    • 클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일

  • 세션
    • 서버에서 일정시간 동안 클라이언트 상태를 유지하기 위해 사용
    • 서버에서 클라이언트 별로 유일무이한 '세션 ID' 를 부여한 후 클라이언트 별 필요한 정보를 서버에 저장
    • 서버에서 생성한 '세션 ID' 는 클라이언트의 쿠키값('세션 쿠키' 라고 부름)으로 저장되어 클라이언트 식별에 사용됨
    • 세션 동작 방식
    • 위 그림에서와 같이 세선ID를 생성하여 클라이언트가 쿠키에 저장하고 확인하여 1번 요청과 같은 클라이언트임을 인지합니다.

마지막으로 회원가입 기능을 구현하기 위해 Spring의 Spring Security를 이해를 했다고 생각했다. 로그인시 큰 틀은 아래와 같은 로직을 가지고 있으며 GET 요청이 아니라 POST 요청을 보내야한다.


오늘 본건 여려가지의 개념들을 보고 따라 해보기도 했지만 정작 구현을 할려면 어떻게 해야할 지 막막하기만 하다. 매주 한번씩 이런 상황이 발생 하는거 같아 답답할 뿐이다.

찾아봐야 하는것 : JWT 구현

profile
스스로 성장하는 개발자가 되겠습니다.

0개의 댓글