JWT, 회원가입/로그인,Access Token, Refresh Token, Local Storage, Session Storage

0
  • JWT

: JSON Web Token
: 사용자 정보를 담고 있는 토큰
: 사용자 인증 및 권한 부여에 사용

  • 회원가입 과정

: 웹사이트에 자신의 정보(비밀번호는 해시화)를 제공 => 데이터 베이스에 저장

  • Login 과정
    : 이메일과 비밀번호 입력 => 데이터베이스 내 해당 이메일을 찾아 비밀번호 해시와 일치하는 지 확인 => 일치하면 JWT 생성 => 사용자에게 JWT 전송

  • JWT 사용
    : 사용자가 서버에 요청을 보낼 때마다 HTTP 요청 헤더에 포함되어 서버에 전송 => JWT 검증 및 요청 처리
    : 서버는 사용자의 세션 유지 필요x => stateless 서버의 부하를 줄임

  • Access Token
    : 사용자 인증 및 권한 확인
    : 사용자 아이디, 유효기간, 권한 범위 등 포함
    : 유효기간이 짧음 => 보안

  • Refresh Token
    : Access Token이 만료되었을 때, 새로운 Access Token 을 발급하기 위한 토큰
    : 유효기간이 비교적 길다 => 서비스를 계속 이용할 수 있도록

  • Local Storage
    1) 영구적인 저장소: 브라우저 캐시를 지우지 않는 이상 계속 남아있음
    2) 도메인 별로 저장: 동일한 도메인에서만 접근 가능
    3) 용량: 대부분의 용량은 5MB ~ 10MB

  • Session Storage
    1) 일시적인 저장소 : 창을 닫으면 데이터가 삭제
    2) 탭별로 저장 : 세션 스토리지는 브라우저 탭별로 저장
    3) 용량 : 대부분의 용량은 5MB~ 10MB

  • 암호화

import hashlib

def hash_password(password):
	return hashlib.sha256(password.encode()).hexdigest()
profile
제대로 꾸준하게 / 블로그 이전 => https://dailybit.co.kr

0개의 댓글