EnglishFrenchSpanyol

Ad


Favicon OnWorks

flask-httpauth - Dalam talian dalam Awan

Jalankan flask-httpauth dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah perintah flask-httpauth yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


flask-httpauth - Flask-HTTAuth Documentation

Flask-HTTPauth ialah sambungan ringkas yang menyediakan pengesahan HTTP Asas dan Digest
untuk laluan Flask.

ASAS PEMULIHAN CONTOH


Contoh aplikasi berikut menggunakan pengesahan Asas HTTP untuk melindungi laluan '/':

daripada kelalang import Flask
daripada flask.ext.httpauth import HTTPBasicAuth

app = Flask(__name__)
auth = HTTPBasicAuth()

pengguna = {
"john": "hello",
"susan": "selamat tinggal"
}

@auth.get_password
def get_pw(nama pengguna):
jika nama pengguna dalam pengguna:
kembalikan users.get(username)
kembali Tiada

@app.route('/')
@auth.login_required
indeks def():
kembali "Hello, %s!" % auth.username()

jika __nama__ == '__main__':
app.run ()

. dapatkan_kata laluan panggil balik perlu mengembalikan kata laluan yang dikaitkan dengan nama pengguna yang diberikan
sebagai hujah. Flask-HTTAuth akan membenarkan akses hanya jika get_password(nama pengguna) == kata laluan.

Jika kata laluan disimpan dicincang dalam pangkalan data pengguna maka panggilan balik tambahan adalah
diperlukan:

@auth.hash_password
def hash_pw(kata laluan):
kembalikan md5(kata laluan).hexdigest()

Apabila hash_password panggilan balik disediakan akses akan diberikan apabila
get_password(nama pengguna) == hash_password(kata laluan).

Jika algoritma pencincangan memerlukan nama pengguna diketahui maka panggilan balik boleh mengambil masa dua
hujah dan bukannya satu:

@auth.hash_password
def hash_pw(nama pengguna, kata laluan):
get_salt(nama pengguna)
kembalikan hash (kata laluan, garam)

Untuk tahap fleksibiliti yang paling dapatkan_kata laluan and hash_password panggilan balik boleh
diganti dengan sahkan kata laluan:

@auth.verify_password
def verify_pw(nama pengguna, kata laluan):
return call_custom_verify_function(nama pengguna, kata laluan)

TERHADAP PEMULIHAN CONTOH


Contoh berikut adalah serupa dengan yang sebelumnya, tetapi pengesahan HTTP Digest adalah
digunakan:

daripada kelalang import Flask
daripada flask.ext.httpauth import HTTPDigestAuth

app = Flask(__name__)
app.config['SECRET_KEY'] = 'kunci rahsia di sini'
auth = HTTPDigestAuth()

pengguna = {
"john": "hello",
"susan": "selamat tinggal"
}

@auth.get_password
def get_pw(nama pengguna):
jika nama pengguna dalam pengguna:
kembalikan users.get(username)
kembali Tiada

@app.route('/')
@auth.login_required
indeks def():
kembali "Hello, %s!" % auth.username()

jika __nama__ == '__main__':
app.run ()

Ambil perhatian bahawa kerana pengesahan digest menyimpan data dalam Flask's Sesi membantah
konfigurasi mesti mempunyai a SECRET_KEY ditetapkan.

API DOKUMENTASI


kelas flask_httpauth.HTTPBasicAuth
Kelas ini yang mengendalikan pengesahan Asas HTTP untuk laluan Flask.

get_password(password_callback)
Fungsi panggil balik ini akan dipanggil oleh rangka kerja untuk mendapatkan
kata laluan untuk pengguna tertentu. Contoh:

@auth.get_password
def get_password(nama pengguna):
kembalikan db.get_user_password(username)

hash_password(hash_password_callback)
Jika ditakrifkan, fungsi panggil balik ini akan dipanggil oleh rangka kerja untuk digunakan
algoritma pencincangan tersuai kepada kata laluan yang disediakan oleh pelanggan. Jika ini
panggilan balik tidak diberikan kata laluan akan diperiksa tidak berubah. Panggilan balik
boleh mengambil satu atau dua hujah. Versi satu hujah menerima
kata laluan kepada cincang, manakala versi dua hujah menerima nama pengguna dan
kata laluan dalam susunan itu. Contoh panggilan balik argumen tunggal:

@auth.hash_password
def hash_password(kata laluan):
kembalikan md5(kata laluan).hexdigest()

Contoh dua panggilan balik hujah:

@auth.hash_password
def hash_pw(nama pengguna, kata laluan):
get_salt(nama pengguna)
kembalikan hash (kata laluan, garam)

verify_password(verify_password_callback)
Jika ditakrifkan, fungsi panggil balik ini akan dipanggil oleh rangka kerja untuk mengesahkan
bahawa kombinasi nama pengguna dan kata laluan yang disediakan oleh pelanggan adalah sah.
Fungsi panggil balik mengambil dua argumen, nama pengguna dan kata laluan dan
mesti kembali Benar or Palsu. Contoh penggunaan:

@auth.verify_password
def verify_password(nama pengguna, kata laluan):
pengguna = User.query.filter_by(username).first()
jika bukan pengguna:
kembali Palsu
kembalikan passlib.hash.sha256_crypt.verify(kata laluan, pengguna.kata laluan_hash)

Perhatikan bahawa apabila a sahkan kata laluan panggilan balik disediakan dapatkan_kata laluan and
hash_password panggilan balik tidak digunakan.

error_handler(error_callback)
Jika ditakrifkan, fungsi panggil balik ini akan dipanggil oleh rangka kerja apabila ia
adalah perlu untuk menghantar semula ralat pengesahan kepada klien. Pulangannya
nilai daripada fungsi ini boleh menjadi badan tindak balas sebagai rentetan atau ia
juga boleh menjadi objek tindak balas yang dicipta dengan buat_tindak balas. Jika panggilan balik ini
tidak disediakan respons ralat lalai dijana. Contoh:

@auth.error_handler
def auth_error():
kembalikan "<h1>Akses Ditolak</h1>"

login_required(view_function_callback)
Fungsi panggil balik ini akan dipanggil apabila pengesahan berjaya. ini
biasanya akan menjadi fungsi paparan Flask. Contoh:

@app.route('/private')
@auth.login_required
def private_page():
kembali "Hanya untuk orang yang diberi kuasa!"

nama pengguna()
Fungsi paparan yang dilindungi dengan kelas ini boleh mengakses yang dilog
nama pengguna melalui kaedah ini. Contoh:

@app.route('/')
@auth.login_required
indeks def():
kembali "Hello, %s!" % auth.username()

kelas flask.ext.httpauth.HTTPDigestAuth
Kelas ini yang mengendalikan pengesahan HTTP Digest untuk laluan Flask. The SECRET_KEY
konfigurasi mesti ditetapkan dalam aplikasi Flask untuk membolehkan sesi berfungsi.
Flask secara lalai menyimpan sesi pengguna dalam klien sebagai kuki selamat, jadi
pelanggan mesti boleh mengendalikan kuki. Untuk menyokong pelanggan yang bukan pelayar web
atau yang tidak boleh mengendalikan kuki a Sesi antara muka yang menulis sesi dalam
pelayan mesti digunakan.

get_password(password_callback)
Lihat pengesahan asas untuk dokumentasi dan contoh.

error_handler(error_callback)
Lihat pengesahan asas untuk dokumentasi dan contoh.

login_required(view_function_callback)
Lihat pengesahan asas untuk dokumentasi dan contoh.

nama pengguna()
Lihat pengesahan asas untuk dokumentasi dan contoh.

Gunakan flask-httpauth dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad