Tidak suka iklan? Pergi Bebas Iklan Hari ini

Pemahaman HTTP Basic Auth — Buat Header Tanpa Menjalankan Tarian Base64 Manual

Diperbarui pada

HTTP Basic Auth lebih sederhana daripada yang terlihat. Pelajari apa yang sebenarnya berada di dalam header Authorization, mengapa itu hanya kredensial yang dienkripsi base64, dan cara menghasilkannya tanpa menyentuh terminal.

HTTP Basic Auth Dideskripsikan — Buat Header Tanpa Tarian Manual Base64 1
IKLAN · HAPUS?

Jika pernah Anda panggil API dan melihat Authorization: Basic dXNlcjpwYXNz di header permintaan, Anda telah menggunakan HTTP Basic Auth. Blok karakter tersebut terlihat rumit tetapi tidak dienkripsi — itu adalah base64. Setelah Anda memahami apa yang sebenarnya ada di dalam header tersebut, Anda tidak akan lagi menyalin secara acak string autentikasi lagi.

Apa yang sebenarnya berada di dalam header Authorization

Formatnya sangat sederhana:

Authorization: Basic <credentials>

Di mana <credentials> adalah enkoding base64 dari username:password — secara harfiah nama pengguna, tanda kolon, dan kata sandi yang disambungkan dan dienkodkan.

Untuk nama pengguna alice dan kata sandi secret:

alice:secret
↓ base64 encode
YWxpY2U6c2VjcmV0

Final header:
Authorization: Basic YWxpY2U6c2VjcmV0

Itu adalah mekanisme keseluruhan. Tidak ada token, tidak ada tanda tangan, tidak ada batas waktu — hanya kredensial yang dienkodkan ke dalam format yang dapat dibawa oleh header HTTP.

Base64 adalah enkoding, bukan enkripsi

Base64 mengubah data biner menjadi teks ASCII menggunakan 64 karakter yang dapat diterbitkan (A–Z, a–z, 0–9, +, /). Hal penting untuk dipahami: dapat dibalik secara lengkap tanpa kunci. Siapa pun yang mengintersepsi header dapat mendekodifikasikannya dalam beberapa detik.

Verifikasi sendiri di terminal:

# Encode
echo -n "alice:secret" | base64
# YWxpY2U6c2VjcmV0

# Decode it back
echo "YWxpY2U6c2VjcmV0" | base64 --decode
# alice:secret

Inilah sebabnya HTTP Basic Auth melalui HTTP biasa merupakan bencana keamanan — kredensial tersebut dapat dibaca oleh siapa saja yang memiliki akses jaringan. Selalu gunakan HTTPS.

Menghasilkan header dalam kode Anda

Kebanyakan klien HTTP menangani Basic Auth secara langsung. Berikut cara mengatur ini di lingkungan umum:

curl

# curl adds the Authorization: Basic header automatically
curl -u alice:secret https://api.example.com/endpoint

Pembuatan manual (bash)

CREDENTIALS=$(echo -n "alice:secret" | base64)
curl -H "Authorization: Basic $CREDENTIALS" https://api.example.com/endpoint

Ular piton

import base64
import requests

credentials = base64.b64encode(b"alice:secret").decode("utf-8")
headers = {"Authorization": f"Basic {credentials}"}
response = requests.get("https://api.example.com/endpoint", headers=headers)

Bahasa Indonesia: JavaScript

const credentials = btoa("alice:secret");

fetch("https://api.example.com/endpoint", {
  headers: { "Authorization": `Basic ${credentials}` }
});

Sebaliknya daripada mengenkodkan secara manual setiap kali, gunakan Pembuat Autentikasi Dasar — tempel kredensial Anda dan dapatkan nilai header siap untuk disalin dalam satu klik.

Kapan menggunakan Basic Auth (dan kapan menghindarinya)

Basic Auth cocok dalam beberapa skenario:

  • API internal dan alat bantu — ketika Anda mengontrol kedua ujung dan TLS dijamin
  • Autentikasi webhook sederhana — banyak layanan mendukungnya untuk webhook masuk
  • Pengembangan dan pengujian — cepat diatur, mudah didiagnosis
  • Integrasi sistem lama — API lama sering membutuhkannya

Hindari dalam keadaan yang lebih baik dengan OAuth, JWT, atau kunci API ketika:

  • Anda membuat API yang dihadapkan secara publik
  • Anda membutuhkan batas waktu token atau pembatalan tanpa mengubah kata sandi
  • Pengguna mengautentikasi melalui browser (OAuth memberikan pengalaman pengguna yang jauh lebih baik)
  • Anda tidak dapat menjamin HTTPS di seluruh jalur permintaan

Gambaran keamanan yang sebenarnya

Basic Auth tidak secara inheren tidak aman — itu hanya kredensial murni. Keamanan datang sepenuhnya dari lapisan transportasi Anda:

  • Dengan HTTPS: Kredensial dienkripsi saat bergerak. Header Authorization sama aman seperti implementasi TLS Anda.
  • Tanpa HTTPS: Siapa saja di jaringan dapat membaca header dalam bentuk teks murni. Jangan lakukan ini di produksi.

Satu batasan praktis yang perlu diketahui: tidak ada mekanisme logout bawaan. Kredensial dikirim pada setiap permintaan selama durasi sesi. Untuk hal-hal yang melibatkan akun pengguna atau manajemen sesi, sesuatu yang berbasis status (OAuth, token sesi) lebih cocok.

Buat header Anda tanpa matematika base64

Jika Anda membutuhkan header Basic Auth yang benar untuk panggilan API, konfigurasi layanan, atau perintah curl, maka Pembuat Autentikasi Dasar mengelola enkoding dan format untuk Anda. Masukkan nama pengguna dan kata sandi Anda, dapatkan nilai header. Tidak perlu terminal, tidak perlu perintah base64, tidak ada kesalahan ketik.

Ingin bebas iklan? Bebas Iklan Hari Ini

Instal Ekstensi Kami

Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat

Ke Ekstensi Chrome Ke Ekstensi Tepi Ke Ekstensi Firefox Ke Ekstensi Opera

Papan Skor Telah Tiba!

Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!

IKLAN · HAPUS?
IKLAN · HAPUS?
IKLAN · HAPUS?

Pojok Berita dengan Sorotan Teknologi

Terlibat

Bantu kami untuk terus menyediakan alat gratis yang berharga

Belikan aku kopi
IKLAN · HAPUS?