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.