Mekanisme Dasar Bearer Token
Bearer Token adalah metode autentikasi berbasis token yang memungkinkan akses ke sumber daya (API) tanpa perlu mengirimkan kredensial pengguna (seperti username dan password) pada setiap permintaan. Konsep utamanya adalah 'siapa pun yang memegang token ini, dia berhak mengakses'. Token ini biasanya berupa JSON Web Token (JWT) yang dikirimkan melalui header HTTP Authorization.
Alur Kerja Bearer Token
- Autentikasi Awal: Klien mengirimkan kredensial (username/password) ke server melalui protokol aman (HTTPS).
- Penerbitan Token: Jika kredensial valid, server menghasilkan token (biasanya JWT) dan mengirimkannya kembali ke klien.
- Penyimpanan: Klien menyimpan token tersebut (misalnya di
localStorageatausessionStorage). - Permintaan API: Klien menyertakan token dalam header setiap permintaan API dengan format:
Authorization: Bearer <token>. - Validasi Server: Server menerima permintaan, mengekstrak token dari header, memverifikasi tanda tangan (signature) dan masa berlaku (exp), lalu memberikan akses jika valid.
Tabel Komparasi Metode Autentikasi
| Fitur | Bearer Token (JWT) | Basic Auth | API Key |
|---|---|---|---|
| Keamanan | Tinggi (Terenkripsi/Signed) | Rendah (Base64) | Sedang |
| State | Stateless | Stateless | Stateless |
| Masa Berlaku | Terbatas (Expiring) | Permanen | Permanen |
| Penggunaan | API Modern/OAuth2 | Sistem Legacy | Akses Sederhana |
Implementasi Header HTTP
GET /api/v1/data HTTP/1.1
Host: api.contoh.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...Keamanan dan Troubleshooting
Untuk menjaga keamanan, selalu gunakan protokol HTTPS agar token tidak dapat disadap di tengah jalan (Man-in-the-Middle attack). Jika token dicuri, penyerang memiliki akses penuh hingga token tersebut kedaluwarsa. Gunakan durasi expiry yang singkat dan implementasikan Refresh Token untuk memperpanjang sesi tanpa harus login ulang.
Tips Troubleshooting
- 401 Unauthorized: Token kedaluwarsa atau tidak disertakan dalam header.
- 403 Forbidden: Token valid, namun pengguna tidak memiliki izin (scope) untuk mengakses endpoint tersebut.
- Malformed Token: Format header tidak sesuai (pastikan ada spasi setelah kata 'Bearer').
🔍 Orang Lain Juga Mencari Ini
Cara Kerja JWT
Implementasi OAuth2
Perbedaan Bearer Token Dan Api Key
Cara Validasi Bearer Token Di Nodejs
Keamanan Token Autentikasi
Apa Itu Refresh Token
Cara Kerja Header Authorization
Tutorial Autentikasi Api
Studi Kasus Jwt Vs Session
Cara Menyimpan Token Di Frontend
Keamanan Web Api
Cara Kerja Stateless Authentication
Struktur Json Web Token
Cara Kerja Bearer Token Di Postman
Best Practice Autentikasi Api