Header Otorisasi HTTP | Tutorial Utama

Pelajari cara aman & efisien gunakan header otorisasi HTTP untuk akses API, serta atasi kesalahan umum.

Ardianto Nugroho

Ardianto Nugroho

8 July 2025

Header Otorisasi HTTP | Tutorial Utama

Jika Anda bekerja dengan API, Anda mungkin tahu apa itu header otorisasi HTTP. Ini adalah cara mengirimkan kredensial ke server untuk mengautentikasi permintaan. Ini sering digunakan untuk mengakses sumber daya yang dilindungi atau melakukan tindakan yang memerlukan izin.

Tetapi tahukah Anda cara menggunakannya secara efektif dan aman? Dalam postingan blog ini, kami akan menunjukkan cara menggunakan header otorisasi HTTP seperti seorang profesional, menggunakan alat yang disebut Apidog.

💡
Apidog adalah alat pengembangan API lengkap yang membantu Anda menguji, men-debug, dan mendokumentasikan API Anda secara gratis. Unduh untuk mencobanya.
button

Di akhir postingan blog ini, Anda akan memiliki pemahaman yang lebih baik tentang header otorisasi HTTP dan cara menggunakannya dengan percaya diri. Mari kita mulai!

Apa Itu Header Otorisasi HTTP?

Header otorisasi HTTP adalah bagian dari protokol HTTP yang memungkinkan Anda mengirimkan kredensial ke server untuk mengautentikasi permintaan. Biasanya diformat sebagai:

Authorization: <type> <credentials>

<type> menunjukkan skema otorisasi, seperti Basic, Bearer, Digest, dll. <credentials> adalah data aktual yang dibutuhkan server untuk memverifikasi identitas Anda, seperti nama pengguna dan kata sandi, token, hash, dll.

Header otorisasi HTTP sering digunakan untuk mengakses sumber daya yang dilindungi atau melakukan tindakan yang memerlukan izin. Misalnya, Anda mungkin perlu mengirimkan header otorisasi HTTP untuk:

Header otorisasi HTTP adalah cara sederhana dan fleksibel untuk mengautentikasi permintaan, tetapi juga memiliki beberapa tantangan dan risiko. Anda perlu memilih skema otorisasi yang tepat untuk API Anda, membuat dan mengirimkan header otorisasi HTTP dengan benar, menangani kesalahan dan respons dari server, mengamankan header otorisasi HTTP Anda dari serangan, dan mendokumentasikan header otorisasi HTTP Anda untuk pengembang lain.

Cara Memilih Skema Otorisasi yang Tepat untuk API Anda

Ada banyak skema otorisasi yang dapat Anda gunakan dengan header otorisasi HTTP, seperti Basic, Bearer, Digest, OAuth, dll. Setiap skema memiliki kelebihan dan kekurangannya masing-masing, dan Anda perlu memilih salah satu yang sesuai dengan kebutuhan dan persyaratan keamanan API Anda. Berikut adalah beberapa faktor yang harus Anda pertimbangkan saat memilih skema otorisasi untuk API Anda:

Untuk membantu Anda memilih skema otorisasi yang tepat untuk API Anda, berikut adalah tabel yang meringkas fitur dan perbedaan utama dari beberapa skema otorisasi populer:

SkemaKompleksitasKeamananKinerjaStandarisasi
BasicRendahRendahTinggiTinggi
BearerRendahSedangTinggiTinggi
DigestSedangSedangSedangSedang
OAuthTinggiTinggiRendahSedang

Tentu saja, tabel ini tidak lengkap dan mungkin ada skema otorisasi lain yang tidak tercantum di sini. Anda harus selalu melakukan riset dan pengujian sebelum memilih skema otorisasi untuk API Anda.

Cara Menggunakan Header Otorisasi HTTP dengan Autentikasi Basic?

Autentikasi Basic adalah salah satu jenis header otorisasi HTTP yang paling sederhana dan paling banyak digunakan. Cara kerjanya adalah dengan mengirimkan nama pengguna dan kata sandi pemohon dalam teks biasa, yang dienkode dengan base64, ke server. Server kemudian mendekode kredensial dan memeriksa apakah kredensial tersebut cocok dengan yang disimpan di database-nya. Jika cocok, server memberikan akses ke sumber daya yang diminta. Jika tidak, server mengembalikan pesan kesalahan.

Untuk menggunakan header otorisasi HTTP dengan autentikasi basic, Anda perlu mengikuti langkah-langkah berikut:

  1. Enkode nama pengguna dan kata sandi Anda dengan base64. Anda dapat menggunakan alat atau pustaka online apa pun untuk melakukan ini. Misalnya, jika nama pengguna Anda adalah "alice" dan kata sandi Anda adalah "secret", string yang dienkode base64 adalah "YWxpY2U6c2VjcmV0".
  2. Tambahkan awalan "Basic " ke string yang dienkode. Ini menunjukkan bahwa Anda menggunakan autentikasi basic. Misalnya, string akhir adalah "Basic YWxpY2U6c2VjcmV0".
  3. Atur nilai header otorisasi HTTP ke string akhir. Misalnya, header otorisasi HTTP akan terlihat seperti ini:
Authorization: Basic YWxpY2U6c2VjcmV0

4. Kirim permintaan ke server. Server akan mendekode kredensial dan mengautentikasi permintaan. Misalnya, jika Anda menggunakan curl, perintahnya akan terlihat seperti ini:

curl -H "Authorization: Basic YWxpY2U6c2VjcmV0" https://example.com/api

5. Terima respons dari server. Jika kredensial valid, server akan mengembalikan sumber daya yang diminta. Jika kredensial tidak valid, server akan mengembalikan pesan kesalahan dengan kode status 401 (Tidak Sah).

Menggunakan header otorisasi HTTP dengan autentikasi basic itu sederhana dan mudah, tetapi juga memiliki beberapa kekurangan. Kekurangan utamanya adalah kredensial dikirim dalam teks biasa, yang berarti kredensial tersebut dapat dicegat dan dikompromikan oleh siapa pun yang dapat melihat lalu lintas jaringan.

Oleh karena itu, autentikasi basic hanya boleh digunakan melalui HTTPS, yang mengenkripsi data dan mencegah pengupingan. Kekurangan lainnya adalah autentikasi basic tidak mendukung bentuk manajemen sesi apa pun, yang berarti kredensial harus dikirim dengan setiap permintaan, yang dapat menjadi tidak efisien dan tidak aman.

Oleh karena itu, autentikasi basic hanya boleh digunakan untuk API sederhana dan tanpa status, di mana persyaratan keamanan rendah dan dampak kinerja minimal.

Cara Menggunakan Header Otorisasi HTTP dengan Token Bearer

Token Bearer adalah jenis header otorisasi HTTP populer lainnya. Cara kerjanya adalah dengan mengirimkan token, yang merupakan string karakter yang mewakili identitas dan izin pemohon, ke server. Server kemudian memvalidasi token dan memeriksa apakah token tersebut memberikan akses ke sumber daya yang diminta. Jika ya, server mengembalikan sumber daya. Jika tidak, server mengembalikan pesan kesalahan.

Untuk menggunakan header otorisasi HTTP dengan token bearer, Anda perlu mengikuti langkah-langkah berikut:

  1. Dapatkan token dari server atau layanan pihak ketiga. Token dapat dibuat dan divalidasi menggunakan berbagai metode dan standar, seperti JSON Web Token (JWT), yang merupakan cara mandiri dan aman untuk mengenkode dan memverifikasi klaim. Untuk mendapatkan token, Anda biasanya perlu memberikan beberapa kredensial, seperti nama pengguna dan kata sandi, atau kunci API, ke server atau layanan. Server atau layanan kemudian akan mengembalikan token yang berisi informasi dan izin pemohon. Misalnya, jika Anda menggunakan JWT, token akan terlihat seperti ini:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhbGljZSIsIm5hbWUiOiJBbGljZSBCb2IiLCJyb2xlIjoiYWRtaW4iLCJleHAiOjE2MjEwMjQwMDB9.6y0jZt7xg8GxhXUq3TJrcQ4aR7fZ0v0t5DLGJ4Z5C8k

Token terdiri dari tiga bagian, dipisahkan oleh titik: header, payload, dan tanda tangan. Header berisi algoritma dan jenis token. Payload berisi klaim, yang merupakan informasi dan izin pemohon. Tanda tangan adalah hasil penerapan algoritma ke header dan payload, menggunakan kunci rahasia. Tanda tangan memastikan integritas dan keaslian token.

2. Tambahkan awalan "Bearer " ke token. Ini menunjukkan bahwa Anda menggunakan autentikasi token bearer.

3. Atur nilai header otorisasi HTTP ke string akhir.

4. Kirim permintaan ke server. Server akan mendekode dan memverifikasi token dan mengautentikasi permintaan.

5. Terima respons dari server. Jika token valid, server akan mengembalikan sumber daya yang diminta. Jika token tidak valid, server akan mengembalikan pesan kesalahan dengan kode status 401 (Tidak Sah) atau 403 (Dilarang).

Cara menggunakan header otorisasi HTTP dengan Autentikasi Digest

Otentikasi Digest adalah jenis header otorisasi HTTP yang lebih canggih dan aman daripada autentikasi basic. Cara kerjanya adalah dengan mengirimkan hash, yang merupakan hasil penerapan fungsi matematika ke string karakter, dari kredensial dan beberapa informasi lain, seperti nonce dan stempel waktu, ke server. Server kemudian menghitung hash yang sama menggunakan informasi yang sama dan membandingkannya dengan yang dikirim oleh pemohon. Jika cocok, server memberikan akses ke sumber daya yang diminta. Jika tidak, server mengembalikan pesan kesalahan.

Untuk menggunakan header otorisasi HTTP dengan autentikasi digest, Anda perlu mengikuti langkah-langkah berikut:

  1. Terima tantangan dari server. Tantangan adalah pesan yang berisi beberapa informasi yang digunakan server untuk memverifikasi kredensial, seperti nonce, realm, dan qop. Tantangan dikirim oleh server ketika pemohon mencoba mengakses sumber daya yang dilindungi tanpa autentikasi, atau dengan kredensial yang tidak valid. Tantangan dikirim dengan kode status 401 (Tidak Sah) dan header yang disebut WWW-Authenticate.
  2. Hitung hash dari kredensial dan tantangan. Hash dihitung menggunakan fungsi matematika yang disebut MD5, yang menghasilkan angka heksadesimal 32 digit dari input apa pun.

Hash terdiri dari tiga bagian: HA1, HA2, dan respons. HA1 adalah hash dari nama pengguna, realm, dan kata sandi. HA2 adalah hash dari metode HTTP dan URI permintaan. Respons adalah hash dari HA1, nonce, jumlah nonce, nonce klien, qop, dan HA2. Jumlah nonce adalah angka yang menunjukkan berapa kali nonce telah digunakan. Nonce klien adalah string acak yang dibuat oleh pemohon.

Cara Mengirim Header Otorisasi HTTP dengan Apidog

Setelah Anda memilih skema otorisasi untuk API Anda, Anda perlu membuat dan mengirim header otorisasi HTTP dengan permintaan Anda. Ini dapat dilakukan dengan mudah dengan Apidog, alat pengembangan API lengkap yang membantu Anda menguji, men-debug, dan mendokumentasikan API Anda. Apidog memungkinkan Anda untuk:

button

Untuk menggunakan Apidog untuk mengirim header otorisasi HTTP, Anda perlu mengikuti langkah-langkah berikut:

Langkah 1: Buat permintaan API baru dengan mengklik tombol "Permintaan Baru".

Membuat permintaan API baru di Apidog

Langkah 2: Tentukan metode HTTP dan masukkan URL titik akhir API yang ingin Anda akses.

Tentukan definisi titik akhir API di Apidog

Langkah 3: Klik tab "Auth", pilih jenis otentikasi, dan isi detail autentikasi.

Mengisi detail autentikasi untuk mendapatkan permintaan titik akhir di Apidog

Langkah 4: Klik tombol Kirim untuk mengirimkan permintaan titik akhir dengan detail autentikasi yang secara otomatis disertakan dalam header. Setelah dikirim, Anda dapat meninjau respons, termasuk kode status, header, dan body. Jika token valid, Anda akan melihat kode status 200 (OK) dan sumber daya yang diminta di body. Jika token tidak valid, harapkan kode status 401 (Tidak Sah) atau 403 (Dilarang) beserta pesan kesalahan di body.

Memeriksa dan memverifikasi data dan laporan respons API di Apidog

Seperti yang Anda lihat, apidog membuatnya sangat mudah dan nyaman untuk membuat dan mengirim header otorisasi HTTP dengan permintaan API Anda. Anda juga dapat menggunakan Apidog untuk menguji dan men-debug aspek lain dari API Anda, seperti parameter, header, dan body dari permintaan dan respons Anda, dan mendapatkan validasi API otomatis.

Cara Menangani Kesalahan dan Tantangan Umum dengan Header Otorisasi HTTP

Saat Anda menggunakan header otorisasi HTTP untuk mengautentikasi permintaan API Anda, Anda mungkin menemukan beberapa kesalahan dan tantangan yang perlu Anda tangani dengan benar. Beberapa kesalahan dan tantangan umum adalah:

Kredensial Tidak Valid atau Hilang:

Salah satu kesalahan paling umum dengan header otorisasi HTTP adalah ketika kredensial tidak valid atau hilang. Ini dapat terjadi ketika pengguna memasukkan nama pengguna atau kata sandi yang salah, token kedaluwarsa atau dicabut, hash salah atau dirusak, atau header salah bentuk atau dihilangkan.

Untuk menangani kesalahan ini, Anda harus selalu memeriksa kode status respons dan header WWW-Authenticate dari server.

Jika kode statusnya 401 (Tidak Sah), itu berarti server memerlukan autentikasi dan memberikan tantangan yang menunjukkan skema dan parameter yang didukung. Anda kemudian harus meminta pengguna untuk kredensial yang benar, atau mendapatkan token baru, dan mencoba lagi permintaan dengan header otorisasi yang sesuai.

Jika kode statusnya 403 (Dilarang), itu berarti server menolak kredensial atau token, dan tidak mengizinkan akses ke sumber daya. Anda kemudian harus memberi tahu pengguna tentang alasan dan tindakan yang mungkin, seperti menghubungi administrator atau meminta izin baru.

Serangan Pemutaran Ulang:

Tantangan umum lainnya dengan header otorisasi HTTP adalah ketika kredensial atau token digunakan kembali oleh penyerang yang mencegat permintaan atau respons. Ini dapat membahayakan keamanan dan integritas API dan data. Untuk mencegah tantangan ini, Anda harus selalu menggunakan HTTPS, yang mengenkripsi data dan mencegah pengupingan.

Anda juga harus menggunakan skema yang menyertakan nonce, stempel waktu, dan tanda tangan, seperti autentikasi digest dan JWT, yang membuat kredensial atau token unik dan dapat diverifikasi. Anda juga harus menggunakan skema yang memiliki waktu kedaluwarsa dan mekanisme pencabutan, seperti OAuth 2.0, yang membatasi validitas dan kegunaan kredensial atau token.

Kinerja dan Skalabilitas:

Tantangan umum lainnya dengan header otorisasi HTTP adalah ketika proses autentikasi memengaruhi kinerja dan skalabilitas API dan server. Ini dapat terjadi ketika skema autentikasi kompleks dan intensif komputasi, seperti hashing, enkripsi, dan penandatanganan, atau ketika autentikasi memerlukan beberapa permintaan dan respons, seperti mendapatkan dan menyegarkan token.

Untuk mengatasi tantangan ini, Anda harus selalu memilih skema autentikasi yang tepat untuk API Anda, berdasarkan persyaratan keamanan, fungsionalitas, dan pengalaman pengguna. Anda juga harus mengoptimalkan proses autentikasi, seperti menyimpan kredensial atau token dalam cache, menggunakan algoritma dan pustaka yang efisien, dan mengurangi overhead jaringan.

Dokumentasi dan Komunikasi:

Tantangan umum lainnya dengan header otorisasi HTTP adalah ketika skema autentikasi tidak didokumentasikan dan dikomunikasikan dengan baik kepada pengguna dan pengembang API. Ini dapat menyebabkan kebingungan, kesalahan, dan frustrasi.

Untuk menghindari tantangan ini, Anda harus selalu mendokumentasikan dan mengomunikasikan skema autentikasi untuk API Anda, seperti jenis, format, parameter, kesalahan, dan contoh header otorisasi.

Kesimpulan

Header Otorisasi HTTP adalah cara yang ampuh dan fleksibel untuk mengamankan API Anda dan menyediakan autentikasi dan otorisasi untuk klien Anda. Dengan mengikuti praktik terbaik dan tips yang dibahas dalam postingan ini, Anda dapat memastikan bahwa API Anda kuat, andal, dan sesuai dengan standar dan spesifikasi.

Anda juga dapat menggunakan berbagai alat dan kerangka kerja, seperti Apidog, untuk mendesain, men-debug, mengembangkan, mengejek, dan menguji API Anda dengan header otorisasi HTTP. Apidog membantu Anda menghubungkan seluruh siklus hidup API dan menerapkan praktik terbaik untuk pengembangan API yang mengutamakan desain.

button

Explore more

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Pelajari cara buat web apa pun dgn Lovable. Panduan lengkap, fitur inovatif, & integrasi Apidog (API gratis).

15 April 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Tutorial ini memandu Anda menyiapkan & mengelola API key khusus di Cursor: OpenAI, Anthropic, Google, & Azure.

11 April 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

11 April 2025

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.