Ketika server mengizinkan akses melalui Otentikasi HTTP Dasar, apa pengalaman yang diharapkan di browser web ?
Mengabaikan peramban web sejenak, berikut ini cara membuat permintaan Auth Dasar dengan curl
:
curl -u myusername:mypassword http://somesite.com
Tapi bagaimana dengan Browser Web? Apa yang saya lihat di beberapa situs web, adalah saya mengunjungi URL, dan kemudian server mengembalikan kode respons 401. Browser kemudian menampilkan prompt nama pengguna / kata sandi.
Namun, di somesite.com, saya tidak mendapatkan prompt otorisasi sama sekali, hanya halaman yang mengatakan saya tidak berwenang. Apakah somesite tidak menerapkan alur kerja Basic Auth dengan benar, atau ada hal lain yang perlu saya lakukan?
Jawaban:
Untuk membantu semua orang menghindari kebingungan, saya akan merumuskan kembali pertanyaan dalam dua bagian.
Pertama: "bagaimana cara membuat permintaan HTTP terotentikasi dengan browser, menggunakan otentikasi BASIC?" .
Di browser Anda dapat melakukan autentikasi dasar http terlebih dahulu dengan menunggu perintah yang akan datang, atau dengan mengedit URL jika Anda mengikuti format ini:
http://myusername:[email protected]
NB: perintah curl yang disebutkan dalam pertanyaan itu baik-baik saja, jika Anda memiliki command-line dan curl yang diinstal. ;)
Referensi:
Juga sesuai dengan halaman manual CURL https://curl.haxx.se/docs/manual.html
Pertanyaan kedua dan nyata adalah "Namun, pada somesite.com, saya tidak mendapatkan prompt otorisasi sama sekali, hanya halaman yang mengatakan saya tidak berwenang. Apakah somesite tidak menerapkan alur kerja Basic Auth dengan benar, atau ada sesuatu apa yang harus saya lakukan? "
Dokumentasi curl mengatakan
-u
opsi mendukung banyak metode otentikasi, Basic menjadi default.sumber
Sudahkah Anda mencoba?
sumber
Anda mungkin memiliki cache nama pengguna / kata sandi lama yang tidak valid di browser Anda. Coba bersihkan mereka dan periksa lagi.
Jika Anda menggunakan IE dan somesite.com berada di zona keamanan Intranet Anda, IE mungkin mengirim kredensial windows Anda secara otomatis.
sumber
WWW-Otentikasi tajuk
Anda juga dapat memperoleh ini jika server mengirim kode respons 401 tetapi tidak mengatur header WWW-Authenticate dengan benar - Saya harus tahu, saya baru saja memperbaikinya dalam kode sendiri karena aplikasi VB tidak memunculkan prompt otentikasi.
sumber
Jika tidak ada kredensial yang disediakan di header permintaan, berikut ini adalah respons minimum yang diperlukan untuk IE untuk meminta pengguna untuk kredensial dan mengirimkan kembali permintaan.
sumber
Anda dapat menggunakan Postman sebagai plugin untuk chrome. Ini memberikan kemampuan untuk memilih jenis otentikasi yang Anda butuhkan untuk setiap permintaan. Dalam menu itu Anda dapat mengonfigurasi pengguna dan kata sandi. Tukang pos akan secara otomatis menerjemahkan konfigurasi ke header otentikasi yang akan dikirim bersama permintaan Anda.
sumber