Request

Path Variable

Name Type Description Example

QueryString

Name Type Description Example

Header

Name Description Example
Host 요청 대상 서버의 도메인 이름 api.example.com
Content-Type 요청 본문의 데이터 타입 지정 application/json
Accept 클라이언트가 원하는 응답 데이터의 미디어 타입 지정 application/hal+json; q=0.9, application/json; q=0.8
User-Agent 클라이언트(브라우저, 앱 등) 정보 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
Accept-Encoding 지원하는 압축 방식 gzip, deflate, br
Accept-Language 선호하는 응답 언어 ko,en-US;q=0.9,en;q=0.8
Origin CORS 요청 시 요청을 보낸 출처 https://frontend.example.com
Referer 현재 요청을 유발한 이전 페이지의 URL https://frontend.example.com/profile
Authorization 인증 정보 Bearer <Header>.*<Payload>*.*<Signature>*
Cookie 상태 관리 session_id=abc123; theme=dark
Strict-Transport-Security HTTPS 통신 강제 max-age=31536000; includeSubDomains

Authorization Header

Field Type Description Example
alg String 서명 알고리즘 HS256
typ String 토큰 타입 JWT

Authorization Payload

Claim Type Description Example
iss String URI 발급자. 토큰의 출처
https://accounts.google.com
sub String 주제. 소유자. 사용자 ID account_123 또는
service-frontend
aud String String[] 대상자
exp Unix Timestamp 만료 시간 1716123456
nbf Unix Timestamp Not Before (활성 시작 시간) 1716120000
iat Unix Timestamp 발급 시간 (Issued At) 1716110000
jti String JWT ID (고유 식별자) uuid-1234
scope String RFC 6749
OAuth 2.0 권한 범위 “read:user write:post admin”
roles
(public claim) String[] de facto standard
역할 기반 인증 (RBAC) ["admin", "editor"]
permissions
(private claim) String[] de facto standard
세밀한 권한 부여 (PBAC) ["post:delete", "comment:edit"]

Body

Name Type Description Example
email String 인증 요청 이메일 abc123@gmail.com

Sample

POST /api/auth/email/challenge

HTTP/2 POST /api/auth/email/challenge
Host: api.inssider.com
Authorization: Bearer *<JWT>*
Content-Type: application/json
Accept: application/hal+json; q=0.9, application/json; q=0.8
Origin: <https://inssider.vercel.app>

{
  "email": "abc123@gmail.com",
}

// 이메일 `abc123@gmail.com`으로 6자리 정수형 난수가 전달됨