Send a Bearer token

OAuth 2.0·JWT 등에서 발급한 액세스 토큰을 `Authorization: Bearer` 헤더로 보내는 레시피입니다. 오늘날 가장 흔한 API 인증 방식입니다.

개요

OAuth 2.0·JWT 등에서 발급한 액세스 토큰을 `Authorization: Bearer` 헤더로 보내는 레시피입니다. 오늘날 가장 흔한 API 인증 방식입니다.

코드로 보기

curl https://api.example.com/me \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsIn...'
const token = 'eyJhbGciOiJIUzI1NiIsIn...';
const res = await fetch('https://api.example.com/me', {
  headers: { Authorization: `Bearer ${token}` }
});
import requests

token = 'eyJhbGciOiJIUzI1NiIsIn...'
res = requests.get('https://api.example.com/me',
                   headers={'Authorization': f'Bearer {token}'})

설명

형식은 정확히 `Authorization: Bearer <token>`이며 스킴 이름 `Bearer`와 토큰 사이에 공백이 하나 있어야 합니다. `Bearer` 접두사를 빼먹거나 토큰만 보내면 401이 납니다.

Bearer 토큰은 소지자(bearer) 자체가 곧 권한이므로, 반드시 HTTPS로만 전송하세요. 평문 HTTP나 URL 쿼리스트링에 넣으면 로그·프록시·브라우저 히스토리에 노출되어 탈취 위험이 큽니다.

인증 실패는 401 Unauthorized(토큰 없음·만료·서명 오류), 권한 부족은 403 Forbidden으로 구분됩니다. 401 응답의 `WWW-Authenticate` 헤더에 `error="invalid_token"` 같은 상세 사유가 담기니 디버깅에 활용하고, 만료 시에는 refresh 토큰으로 갱신하세요.

관련 헤더

관련 상태코드