With AI

Authorization 헤더에서 Bearer를 붙이는 이유

  • -
반응형

 

API에서 인증(Authorization) 방식을 사용할 때, Authorization 헤더에는 인증 방식 + 토큰 값이 들어갑니다.

그중에서 Bearer Token 방식OAuth 2.0 표준에서 사용하는 인증 방식으로,
클라이언트가 서버에 요청을 보낼 때 "나는 이 토큰을 가진 사용자입니다"라고 증명하는 역할을 합니다.

Bearer는 영어로 "소지자" (Bearer) 라는 뜻입니다.
즉, "이 토큰을 소지한 사람은 인증된 사용자로 간주된다"는 의미입니다.

📌 사용 방식 (예시)

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
 
  • Authorization 헤더에 Bearer + (한 칸 띄우고) 토큰 값을 포함해야 합니다.

Authorization 헤더는 다양한 인증 방식을 지원할 수 있습니다.
예를 들면:

  • Basic 인증 → Authorization: Basic base64(username:password)
  • Digest 인증 → Authorization: Digest ...
  • Bearer 토큰 인증 → Authorization: Bearer JWT_Token

즉, 서버가 Authorization 헤더를 보고 어떤 인증 방식인지 쉽게 구분할 수 있도록 Bearer를 붙이는 것입니다.

OAuth 2.0에서는 액세스 토큰을 사용한 인증 방식으로 Bearer Token을 표준으로 지정했습니다.
RFC 6750 (OAuth 2.0 Bearer Token Usage) 문서에서
OAuth 2.0에서는 Bearer 방식을 따르도록 명시하고 있습니다.

JWT 같은 토큰 기반 인증에서는,
토큰을 요청 헤더에 넣어서 보내는 것이 가장 간편한 방법입니다.

만약 Bearer 없이 단순히 토큰만 보낸다면?

Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
  • 서버가 이 값이 Bearer Token인지, API Key인지, 다른 인증 정보인지 구분하기 어려움
  • 따라서 Bearer를 붙이면 서버가 "이건 Bearer Token이다"라고 확실히 이해할 수 있음

📌 Bearer를 붙이는 이유는?

  1. 인증 방식(Authorization Method)을 명확히 하기 위해
  2. OAuth 2.0 표준을 따르기 위해
  3. 서버가 토큰을 쉽게 인식하고 처리할 수 있도록 하기 위해
반응형

포스팅 주소를 복사했습니다.

이 글이 도움이 되었다면 공감 부탁드립니다.