jwt(3)
-
Session vs JWT에 차이
이번 모의 면접에서 Session과 JWT의 차이를 깊게 알지 못하여 제대로 된 답변을 하지 못했습니다. 이를 보완하기 위해 이번 글을 작성하게 되었습니다. Sessionsession의 인증 흐름 Session은 사용자가 로그인을 성공하면 해당 사용자에 대한 세션 데이터를 서버에 저장하고, 클라이언트에게는 세션 ID를 전달합니다. 클라이언트는 이후 요청 시 이 세션 ID를 함께 전송하여 인증을 받습니다. Session의 문제점 1. 서버 메모리 또는 데이터베이스에 저장: • 서버 메모리에 저장하면 빠른 접근이 가능하지만, 서버가 재시작되거나 여러 서버를 사용하는 경우(로드 밸런싱) 문제가 발생할 수 있습니다. • 데이터베이스에 저장하면 서버 간 세션 공유가 용이하지만, 데이터베이스 접근 시간이 필요합니..
2024.06.25 -
Node.js AccessToken / RefreshToken
AccessToken에 개념을 이해하고 사용을 하고 있었지만, 이번에 내일배움캠프를 수강 중 RefreshToken을 배워 개념과 간단하게 사용하는 방법을 알아보려고 합니다. JWT(Json Web Token)?HeaderJWT를 검증하는 데 필요한 정보를 가진 JSON을 Base64 알고리즘 기반으로 인코딩한 문자열입니다. 검증을 하기 위한 내용을 가지고 있습니다.PayloadJWT에 저장된 값입니다. (name, value)의 쌍으로 이루어져 있고, JWT에는 이 값들을 여러 개 할당할 수 있습니다. Payload의 값은 암호화되지 않기에, 비밀번호와 같은 민감한 값을 넣으면 안 됩니다.SignatureJWT를 인코딩하거나 유효성 검증을 할 때 사용하는 암호화 된 코드입니다. 1. Acess Tok..
2024.05.21 -
Node.js JWT
JWT란 무엇인가? JWT(JSON Web Token)는 정보를 JSON 형식으로 안전하게 전송하기 위한 표준입니다. 이는 SAML에 비해 작은 크기로 컴팩트하며, 기본 정보, 전달 정보, 그리고 검증 정보를 포함하고 있습니다. JWT는 전자 서명되어 있어, 데이터의 신뢰성을 확인할 수 있습니다. JWT의 구조 1.Header: 타입(Type): 여기서 사용되는 토큰의 종류를 나타냅니다. 일반적으로 "JWT"라는 값이 들어갑니다. 알고리즘(Algorithm): 서명에 사용되는 암호화 알고리즘을 지정합니다. 예를 들어, "HMAC SHA256" 또는 "RSA" 등이 사용될 수 있습니다. 2.Payload: 클레임(Claim): 토큰의 본문에 해당하며, 클레임은 JWT의 주요 정보를 담는 이름과 값의 쌍으로..
2023.10.12