Ý nghĩa
Yêu cầu thiếu thông tin xác thực hợp lệ. Dù tên gọi là Unauthorized, nó nghĩa là chưa xác thực: hãy đăng nhập hoặc gửi token hợp lệ.
Nguyên nhân thường gặp
- Thiếu header Authorization
- Token hết hạn hoặc bị thu hồi
- Sai tên người dùng, mật khẩu hoặc API key
Cách khắc phục
Nếu bạn là máy khách hoặc người truy cập
Gửi thông tin xác thực theo định dạng mà header WWW-Authenticate yêu cầu, làm mới token hết hạn và kiểm tra lỗi gõ hoặc key của sai môi trường.
Nếu bạn quản lý trang web hoặc API
Luôn kèm header WWW-Authenticate với 401. Dùng 403 khi người dùng đã xác thực nhưng không được phép.
Phản hồi mẫu
HTTP/1.1 401 Unauthorized
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
WWW-Authenticate: Bearer realm="api", error="invalid_token"
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Unauthorized",
"status": 401,
"detail": "The access token expired."
} Đặc tả
Câu hỏi thường gặp
› 401 hay 403?
401: chúng tôi không biết bạn là ai, hãy xác thực. 403: chúng tôi biết bạn là ai, và bạn không được làm việc này.
› Vì sao tôi nhận 401 ngay sau khi đăng nhập?
Thường do token không được đính kèm vào yêu cầu (CORS không có credentials, sai tên header) hoặc lệch đồng hồ khiến nó trông như đã hết hạn.