Materi
API yang tidak terbuka untuk umum meminta klien membuktikan identitasnya. Dua bentuk yang umum adalah API key, yaitu teks rahasia yang diberikan penyedia API untuk satu aplikasi, dan token Bearer, yang menurut RFC 6750 memberi akses kepada siapa pun yang memegangnya. Token Bearer dikirim di header dengan bentuk Authorization: Bearer diikuti spasi dan tokennya. Nama skema Bearer tidak membedakan huruf, tetapi token itu sendiri membedakannya.
Permintaan tanpa kredensial yang sah dijawab 401 dengan header WWW-Authenticate yang menyebut skema autentikasi yang diminta. Bila permintaan sudah membawa kredensial, 401 berarti kredensial itu ditolak, dan RFC 9110 membolehkan klien mengulang dengan Authorization yang baru. Kredensial sah tanpa hak yang cukup dijawab 403.
GET /v1/tagihan/2031-07 HTTP/1.1
Host: api.listrik.example
Authorization: Bearer mF_9.B5f-4.1JqM
Accept: application/jsonKredensial tidak ditaruh di URL. OWASP REST Security Cheat Sheet menyatakan kata sandi, token, dan API key tidak boleh muncul di URL karena URL tercatat di log server, dan RFC 6750 melarang token Bearer di URL halaman. Kredensial juga tidak ditaruh di kode yang dikirim ke peramban: semua JavaScript di sana bisa dibuka siapa pun lewat alat pengembang, dan OWASP mencatat API key yang diberikan ke klien pihak ketiga mudah dibobol. Panggilan yang memakai rahasia dilakukan dari server milikmu, dan peramban memanggil server itu.