숙련강의를 다시보니 좋은 강의인것 같다 이해도에 따라 강의가 평가 되는것같다.
그래서 숙련강의를 또다시보고 아에 정리를 하였다. 이게 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완성
'스파르타코딩클럽(내일배움캠프)' 카테고리의 다른 글
스파르타코딩클럽 내일배움캠프 10주차 2일 (0) | 2023.01.02 |
---|---|
스파르타코딩클럽 내일배움캠프 10주차 1일 (0) | 2023.01.02 |
스파르타코딩클럽 내일배움캠프 9주차 5일 (0) | 2022.12.31 |
스파르타코딩클럽 내일배움캠프 9주차 4일 (0) | 2022.12.29 |
스파르타코딩클럽 내일배움캠프 9주차3일 (0) | 2022.12.28 |