type
status
date
slug
summary
tags
category
icon
password
인증
식별 가능한 정보로 사용자가 누구인지 확인하는 절차
인가
인증된 사용자가 특정 자원에 접근할 수 있는지 권한을 확인하는 절차
웹 앱에서 인증과 인가를 http 통신을 통해 주고받음
여기서 http 통신을 하되, Stateless(무상태성)으로 진행됨
stateless
HTTP로 통신되는 클라이언트의 요청이 서버에 독립적으로 처리되며, 서버가 클라이언트에 대한 정보를 유지하거나 기억하지 않는다는 것
인증 유지하는 방법
세션(Session)
서버가 클라이언트와 상호작용을 유지하기 위해 서버 내 클라이언트의 상태 정보를 저장하는 방식


토큰
사용자 인증에 대한 정보가 담긴 징표
Json Web Token

구성
Header
- 토큰의 유형과 서명에 사용된 암호화 알고리즘에 대한 정보를 포함
- Base64Url로 인코딩됨
Payload
- 사용자 정보 혹은 토큰 정보 등을 나타내는 클레임(Claim)을 포함
- 예를 들어, 대상(sub) , 발행시간(iat), 만료시간(exp) 등을 적을 수 있음
- Base64Url로 인코딩됨
Signature
- 토큰의 무결성을 보장하고 변조를 방지하기 위해 사용
- 헤더와 페이로드를 Base64Url로 인코딩한 값을, 비밀 키와 함께 암호화해서 생성
- 토큰의 변조 여부를 확인하려면 헤더와 페이로드를 비밀 키로 암호화한 값과 Signature가 같은지 확인
동작

비교
확장성
세션 불리함, 토큰이 유리함
보안
세션 유리함, 토큰 불리함