인증과 인가는 웹 애플리케이션에서 사용자 접근을 제어하는 중요한 개념이다.
인증 (Authentication): 사용자가 누구인지 확인하는 과정이다. 사용자가 제공한 정보가 올바른지 확인하고, 이를 통해 사용자의 신원을 보증한다.
인가 (Authorization): 인증을 통과한 사용자가 요청한 자원에 접근할 권한이 있는지를 확인하는 과정이다.
| 구분 | 인증 (Authentication) | 인가 (Authorization) |
|---|---|---|
| 목적 | 사용자의 신원을 확인한다 | 사용자의 자원 접근 권한을 확인한다 |
| 주요 질문 | "너 누구야? 너 정말 너 맞아?" | "너가 이걸 할 자격이 되니?" |
| 결과 | 사용자 신원을 보증한다 | 사용자가 자원에 접근 가능 여부를 결정한다 |
| HTTP 코드 | 401 Unauthorized | 403 Forbidden |
인증정보는 일반적으로 URL, 헤더(Header), 또는 HTTP Body에 저장할 수 있다.
Authorization 헤더에 저장한다.Authorization 값을 추가하여 인증정보를 설정Bearer 접두사를 붙인 인증 토큰을 Authorization 헤더에 설정Authorization: Bearer eyJhbGciOiJIUz...