WWW-Authenticate
응답 헤더 Auth

개요

WWW-Authenticate는 401 Unauthorized 응답에 실려, 클라이언트가 어떤 인증 방식(scheme)으로 자격 증명을 제시해야 하는지 알려주는 헤더입니다. 서버가 보내는 인증 챌린지(challenge) 역할을 합니다.

값은 인증 스킴(Basic·Bearer·Digest 등)과 realm 같은 파라미터로 구성됩니다.

자세히

동작 흐름: 인증이 필요한 리소스에 자격 증명 없이 접근하면 서버가 401 + WWW-Authenticate: Basic realm="..."로 응답합니다. 클라이언트(브라우저)는 이를 보고 로그인 창을 띄우거나 저장된 자격 증명을 Authorization 헤더에 실어 재요청합니다.

Bearer 스킴은 OAuth 2.0/JWT 토큰 인증에 쓰이며, 토큰이 만료·무효일 때 error="invalid_token", error_description="..." 같은 파라미터로 실패 이유를 구체적으로 알려줄 수 있습니다. 이를 통해 클라이언트가 토큰 갱신 등 적절히 대응합니다.

realm은 보호 영역의 이름으로, 같은 realm에 속한 리소스들은 동일한 자격 증명을 공유합니다. 하나의 응답에 여러 WWW-Authenticate를 넣어 여러 스킴을 제시할 수도 있으며, 클라이언트는 지원하는 가장 강한 스킴을 선택합니다.

문법

WWW-Authenticate: <scheme> [realm="..."][, <param>=<value>]*

e.g. WWW-Authenticate: Bearer realm="api", error="invalid_token", error_description="expired"

지시어 / 값

Basic사용자명:비밀번호를 Base64로 보내는 기본 인증. 반드시 HTTPS와 함께.
Bearer토큰(OAuth 2.0/JWT) 기반 인증. error/error_description 파라미터 동반 가능.
Digest챌린지-리스폰스 방식으로 비밀번호 평문 전송을 피하는 인증.
realm="<name>"보호 영역 이름 — 같은 realm은 동일 자격 증명을 공유합니다.

실무 참고

관련 헤더

AuthorizationProxy-AuthenticateProxy-Authorization

관련 상태코드

스펙 근거