repoze.who.plugins.browserid adalah plugin repoze.who untuk otentikasi melalui proyek BrowserID Mozilla:
& Nbsp; https: //browserid.org/
Saat ini mendukung verifikasi BrowserID pernyataan dengan posting mereka ke layanan browserid.org verifier. Sebagai protokol menjadi lebih stabil akan menumbuhkan kemampuan untuk memverifikasi pernyataan lokal.
Konfigurasi plugin dapat dilakukan dari file konfigurasi standar repoze.who seperti:
[Plugin: BrowserID]
Penggunaan = repoze.who.plugins.browserid: make_plugin
khalayak = www.mysite.com
rememberer_name = authtkt
[Plugin: authtkt]
Penggunaan = repoze.who.plugins.auth_tkt: make_plugin
Rahasia = My Secret Khusus
[Pengidentifikasi]
plugin = authtkt BrowserID
[Otentikator]
plugin = authtkt BrowserID
[Penantang]
plugin = BrowserID
Perhatikan bahwa kita telah dipasangkan plugin BrowserID dengan plugin standar AuthTkt sehingga dapat mengingat login pengguna di seluruh permintaan.
Customization
Pengaturan berikut bisa ditetapkan dalam file konfigurasi untuk menyesuaikan perilaku plugin:
& Nbsp; penonton:
& Nbsp; Sebuah daftar dipisahkan dengan spasi hostname diterima atau pola glob untuk penonton pernyataan BrowserID. Setiap pernyataan yang penonton tidak sesuai item dalam daftar tersebut akan ditolak.
& Nbsp; Anda harus menentukan nilai untuk pengaturan ini, karena merupakan bagian integral dari keamanan BrowserID. Lihat bagian Catatan Keamanan di bawah ini untuk lebih jelasnya.
& Nbsp; rememberer_name:
& Nbsp; Nama plugin repoze.who lain yang harus dipanggil untuk mengingat / melupakan otentikasi. Ini biasanya akan menjadi implementasi ditandatangani-kue seperti plugin auth_tkt built-in. Jika unspecificed atau ada maka otentikasi tidak akan diingat.
& Nbsp; postback_url:
& Nbsp; URL yang BrowserID kredensial harus dikirim untuk validasi. Nilai default mudah-mudahan konflik bebas: /repoze.who.plugins.browserid.postback.
& Nbsp; assertion_field:
& Nbsp;
& Nbsp; Nama field bentuk POST di mana untuk menemukan pernyataan BrowserID. Nilai default adalah "penegasan".
& Nbsp; came_from_field:
& Nbsp; Nama field bentuk POST di mana untuk menemukan halaman merujuk, yang pengguna akan diarahkan setelah proses login mereka. Nilai default adalah "came_from".
& Nbsp; csrf_field:
& Nbsp; Nama field bentuk POST di mana untuk menemukan perlindungan tanda CSRF. Nilai default adalah "csrf_token". Jika diatur ke string kosong maka pemeriksaan CSRF dinonaktifkan.
& Nbsp; csrf_cookie_name:
& Nbsp;
& Nbsp; Nama cookie di mana untuk mengatur dan menemukan tanda perlindungan CSRF. Nama cookie default "browserid_csrf_token". Jika diatur ke string kosong maka pemeriksaan CSRF dinonaktifkan.
& Nbsp; challenge_body:
& Nbsp; Lokasi di mana untuk menemukan HTML untuk halaman login, baik sebagai referensi python bertitik atau nama file. The contained HTML dapat menggunakan python sintaks tali interpolasi untuk menyertakan rincian tantangan, misalnya menggunakan% (csrf_token) s untuk memasukkan token CSRF.
& Nbsp; verifier_url:
& Nbsp; URL dari BrowserID layanan verifier, yang semua pernyataan akan diposting untuk memeriksa. Nilai default adalah standar browserid.org verifier dan harus cocok untuk semua tujuan.
& Nbsp; urlopen:
& Nbsp; Nama python bertitik dari callable menerapkan API yang sama seperti urllib.urlopen, yang akan digunakan untuk mengakses layanan BrowserID verifier. Nilai utils default: secure_urlopen yang tidak ketat sertifikat HTTPS memeriksa secara default.
& Nbsp; check_https:
& Nbsp; Boolean yang menunjukkan apakah akan menolak usaha login melalui koneksi enencrypted. Nilai default adalah False.
& Nbsp; check_referer:
& Nbsp; Boolean yang menunjukkan apakah akan menolak masuk upaya di mana header referer tidak cocok dengan penonton yang diharapkan. Default adalah untuk melakukan pemeriksaan ini untuk koneksi yang aman saja.
Security Catatan
CSRF Perlindungan
Plugin ini mencoba untuk memberikan perlindungan dasar terhadap serangan masuk-CSRF seperti yang dijelaskan oleh Barth et. al. di "Pertahanan Kuat untuk Pemalsuan Permintaan Cross-Site":
& Nbsp; http: //seclab.stanford.edu/websec/csrf/csrf.pdf
Dalam terminologi kertas di atas, menggabungkan Nonce sesi-independen dengan referal ketat memeriksa koneksi yang aman. Anda dapat men-tweak perlindungan dengan menyesuaikan "csrf_cookie_name", "check_referer" dan "check_https" Pengaturan.
Pemirsa Pemeriksaan
BrowserID menggunakan gagasan tentang "penonton" untuk melindungi login dicuri. Penonton mengikat sebuah pernyataan BrowserID ke host tertentu, sehingga penyerang tidak dapat mengumpulkan pernyataan di satu situs dan kemudian menggunakannya untuk masuk ke yang lain.
Plugin ini melakukan penonton ketat memeriksa secara default. Anda harus memberikan daftar penonton string yang diterima saat membuat plugin, dan mereka harus spesifik untuk aplikasi Anda. Sebagai contoh, jika aplikasi Anda menyajikan permintaan pada tiga nama host yang berbeda http://mysite.com, http://www.mysite.com dan http://uploads.mysite.com, Anda mungkin memberikan:
[Plugin: BrowserID]
Penggunaan = repoze.who.plugins.browserid: make_plugin
penonton = mysite.com * .mysite.com
Jika aplikasi Anda tidak memeriksa ketat dari header HTTP host, maka Anda dapat menginstruksikan plugin untuk menggunakan Host header sebagai penonton dengan meninggalkan daftar kosong:
[Plugin: BrowserID]
Penggunaan = repoze.who.plugins.browserid: make_plugin
khalayak =
Ini bukan perilaku default karena mungkin tidak aman pada beberapa sistem
Apa yang baru dalam rilis ini:.
- Fix javascript untuk menggunakan navigator.id.get () bukan usang navigator.id.getVerifiedEmail.
Apa yang baru dalam versi 0.4.0:.
- Migrasi dari PyVEP ke PyBrowserID
Apa yang baru dalam versi 0.3.0:
- Update untuk API kompatibilitas dengan PyVEP & gt; = 0,3. 0.
Apa yang baru dalam versi 0.2.1:
- Update untuk API kompatibilitas dengan PyVEP & gt; = 0,2. 0.
Apa yang baru dalam versi 0.2.0:
- kode verifikasi Refactor ke perpustakaan standand sendiri bernama & quot; & quot ;, PyVEP yang sekarang ketergantungan .
Persyaratan :
- Python
Komentar tidak ditemukan