Lompat ke konten utama
←

Backend Node.js Dasar: Rute, Middleware, dan Pengujian

Pelajaran 9 dari 16

Middleware: pencatat, penangkap galat, dan token

Memeriksa token Bearer di server (konsep)

Setelah pelajaran ini kamu bisa membaca token Bearer dari header Authorization di server, menolak dengan 401 dan tantangan WWW-Authenticate yang benar, dan meneruskan identitas pengguna ke handler.

±14 menitDiperiksa 23 Okt 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Kelas HTTP dan API Web membahas sisi klien: token dikirim di header Authorization: Bearer <token>. Di sisi server, middleware autentikasi membaca header itu, memastikan tokennya dikenal, lalu meneruskan identitas pemiliknya ke handler. Dokumentasi Express mencontohkan middleware yang menambah properti ke req; di kelas ini caranya memanggil next dengan salinan req yang memuat field pengguna.

RFC 9110 §11.1 menyatakan nama skema autentikasi tidak membedakan huruf, jadi bearer dan Bearer sama; tokennya sendiri dibandingkan persis. RFC 6750 §2.1 menulis kredensialnya sebagai kata Bearer, satu spasi atau lebih, lalu token berbentuk b64token: huruf, angka, dan - . _ ~ + / dengan tanda = boleh di akhir. Cara token dibuat dan diperiksa keasliannya (tanda tangan, masa berlaku, penyimpanan sesi) di luar lingkup kelas ini; di latihan token dicocokkan dengan tabel tiruan.

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="dapur-mentari", error="invalid_token"
Content-Type: application/problem+json

{ "title": "Unauthorized", "status": 401 }

Permintaan tanpa kredensial dijawab 401 dengan header WWW-Authenticate berisi tantangan Bearer; RFC 9110 §15.5.2 mewajibkan header itu di setiap 401, dan RFC 6750 §3.1 meminta tantangan untuk permintaan tanpa kredensial tidak memuat kode error. Token yang tidak dikenal juga 401, ditambah error="invalid_token". Token sah yang hak aksesnya kurang dijawab 403 dengan kode insufficient_scope.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Token kasir Rina sah dan dikenal server, tetapi DELETE /produk/:id hanya untuk peran admin. API Mentari tidak menyembunyikan keberadaan produk. Jawaban mana yang sesuai RFC 6750 dan RFC 9110?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 1 lagi