본문 바로가기

스파르타코딩클럽(내일배움캠프)

스파르타코딩클럽 내일배움캠프 9주차 후기

728x90

숙련강의를 다시보니 좋은 강의인것 같다 이해도에 따라 강의가 평가 되는것같다.

 

그래서 숙련강의를 또다시보고 아에 정리를 하였다. 이게 4번째 보니깐 어느정도 이해하는것 같다.

 

쿠키 와 세션

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

세션 : 서버에서 일정시간 동안 클라이언트 상태를 유지하기 위해 사용

 

정리해보면 쿠키는 클라이언트 저장소, 세션은 서버 저장

사용예 )

쿠키 : 사이트 팝업의 "오늘 다시보지 않기" 정보저장

세션 : 로그인 정보저장

 

JWT 는 쿠키이다. 즉 클라이언트 저장되는 토큰의 한종류!!

JWT(Json Web Token)란 Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token이다.

 

JWT 사용 흐름

1. 클라이언트가 로그인 성공시

로그인 정보를 JWT로 암호화 -> JWT를 클라이언트 응답에 전달(Authorization: BEARER <JWT>) -> 클라이언트에서 JWT저장

 

2. 클라이언트에서 JWT통해 인증방법

JWT를 API요청시마다 Header에 포함 -> 클라이언트가 전달한 JWT위조 여부 검증(시크릿키 사용) -> JWT 유효기간이 지나지 않았는지 검증 -> 검증 성공시 : JWT에서 사용자 정보를 가져와 확인

 

JWT 구조

1. header

{

   "alg" : "HS256",

   "typ" : "JWT"

}

 

2. payload

{

  "sub" : "1234567890",

  "username":"카즈하",

  "admin":true

}

 

3. signature

HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

 

@responsebody

ajax통신을 이용하여 body값을 받아줘야 함으로 responsebody를 넣어줘야함

 

@requestbody

ajax통신을 이용하여 body값을 받아줘야 함으로 requestbody를 넣어줘야함

 

httpseveletresponse

클라이언트로 반환하기 위해 반환할 response객체 헤더쪽에다가 우리가 만들어준 토큰값을 넣어주기 위해

 

httprequest

헤더가 넘어와서 받아와짐

 

숙련과제

 

로그인 JWT 완성

 

https://github.com/karlema/midtermlv1-auth_loginjwt-

 

GitHub - karlema/midtermlv1-auth_loginjwt-

Contribute to karlema/midtermlv1-auth_loginjwt- development by creating an account on GitHub.

github.com

 

추후 과제 게시글 JWT완성

 

728x90