Artinya
Permintaan tidak memiliki kredensial autentikasi yang valid. Meski namanya Unauthorized, artinya belum terautentikasi: login atau kirim token yang valid.
Penyebab umum
- Header Authorization tidak ada
- Token kedaluwarsa atau dicabut
- Username, password, atau API key salah
Cara memperbaiki
Sebagai klien atau pengunjung
Kirim kredensial dalam format yang diminta header WWW-Authenticate, perbarui token yang kedaluwarsa, dan periksa salah ketik atau key dari environment yang salah.
Sebagai pengelola situs atau API
Selalu sertakan header WWW-Authenticate dengan 401. Gunakan 403 bila pengguna sudah terautentikasi tetapi tidak diizinkan.
Contoh respons
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."
} Spesifikasi
FAQ
› 401 atau 403?
401: kami tidak tahu siapa Anda, silakan autentikasi. 403: kami tahu siapa Anda, dan Anda tidak boleh melakukan ini.
› Mengapa saya mendapat 401 tepat setelah login?
Biasanya token tidak dilampirkan pada permintaan (CORS tanpa credentials, nama header salah) atau selisih jam membuatnya tampak kedaluwarsa.