Rumah >pembangunan bahagian belakang >Tutorial Python >Flask-RESTful dan Flask-HTTAuth: Amalan terbaik untuk pengesahan dan kebenaran pengguna dalam aplikasi web Python

Flask-RESTful dan Flask-HTTAuth: Amalan terbaik untuk pengesahan dan kebenaran pengguna dalam aplikasi web Python

WBOY
WBOYasal
2023-06-17 17:12:541768semak imbas

Dengan populariti aplikasi web, pengesahan dan kebenaran pengguna menjadi semakin penting. Ciri-ciri ini melindungi data sensitif dan fungsi penting dalam aplikasi web supaya hanya pengguna yang diberi kuasa boleh mengaksesnya. Bahasa Python menyediakan banyak perpustakaan dan rangka kerja yang memudahkan untuk melaksanakan pengesahan dan kebenaran pengguna dalam aplikasi web. Artikel ini akan memperkenalkan dua perpustakaan Python: Flask-RESTful dan Flask-HTTAuth, yang merupakan amalan terbaik untuk melaksanakan pengesahan dan kebenaran dalam aplikasi web.

  1. Apakah Flask-RESTful?
    Flask-RESTful ialah perpustakaan RESTful berdasarkan rangka kerja Flask, yang boleh membuat API RESTful dengan mudah. Ia dibina di atas Flask, Werkzeug dan Jinja2, menyediakan rangka kerja RESTful yang ringan dan sistem penghalaan mudah yang berfungsi dengan sempurna dengan Flask, membolehkan pembangun mencipta API RESTful dengan cepat.
  2. Apakah Flask-HTTAuth?
    Flask-HTTAuth ialah perpustakaan yang menyediakan pengesahan dan kebenaran pengguna untuk aplikasi web Flask Ia boleh mengesahkan melalui pengesahan asas HTTP, kuki, token atau kaedah tersuai yang lain. Flask-HTTAuth tidak memerlukan pangkalan data tambahan dan menyimpan maklumat pengesahan pengguna dalam fail konfigurasi aplikasi. Ini menjadikan proses pengesahan lebih mudah dan lebih mudah.
  3. Menggunakan Flask-RESTful dan Flask-HTTPAuth untuk melaksanakan pengesahan dan kebenaran
    Sebelum menggunakan Flask-RESTful dan Flask-HTTPAuth untuk melaksanakan pengesahan dan kebenaran, beberapa persediaan aplikasi diperlukan. Mula-mula, anda perlu memasang perpustakaan Flask, Flask-RESTful dan Flask-HTTPAuth:
pip install Flask
pip install Flask-RESTful
pip install Flask-HTTPAuth

Seterusnya, anda perlu mengimport Flask-RESTful dan Flask-HTTPAuth dalam aplikasi Flask anda:

from flask import Flask
from flask_restful import Api, Resource
from flask_httpauth import HTTPBasicAuth

app = Flask(__name__)
api = Api(app)
auth = HTTPBasicAuth()

Kemudian, pengguna berdaftar boleh dibuat untuk pengesahan:

users = {
    "john": "hello",
    "susan": "bye"
}

@auth.get_password
def get_password(username):
    if username in users:
        return users.get(username)
    return None

Di sini kamus pengguna ringkas (nama pengguna dan kata laluan) ditakrifkan dan dihantar ke Flask-HTTAuth melalui fungsi panggil balik get_password. Dalam fungsi get_password, mula-mula tentukan sama ada nama pengguna dalam permintaan berada dalam kamus pengguna Jika ia wujud, kata laluan pengguna dikembalikan jika tidak, Tiada dikembalikan, menunjukkan bahawa pengesahan gagal.

Kini anda boleh menggunakan Flask-RESTful dan Flask-HTTAuth pada aplikasi anda untuk mengesahkan dan membenarkan API. Berikut ialah contoh:

class PrivateResource(Resource):
    @auth.login_required
    def get(self):
        return {"message": "Hello, %s!" % auth.username()}, 200

api.add_resource(PrivateResource, '/private')

Dalam kod di atas, sumber yang dilindungi PrivateResource dicipta dan disahkan menggunakan penghias login_required dalam Flask-HTTAuth. Jika nama pengguna dan kata laluan dalam permintaan sepadan, memanggil kaedah get mengembalikan objek JSON yang mengandungi nama pengguna.

Selepas mencipta laluan, anda boleh menjalankan aplikasi Flask dan mengesahkan menggunakan nama pengguna dan kata laluan:

$ curl -u john:hello http://localhost:5000/private
{"message": "Hello, john!"}

$ curl -u susan:bye http://localhost:5000/private
{"message": "Hello, susan!"}
  1. Ringkasan
    Dalam artikel ini, kami membincangkan cara menggunakan Flask-RESTful dan perpustakaan Flask-HTTAuth melaksanakan pengesahan dan kebenaran dalam aplikasi web Python. Dengan menyediakan pustaka Python dan menggunakan contoh kod di atas, anda boleh melindungi data sensitif dan kefungsian penting dalam aplikasi web anda, memastikan hanya pengguna yang dibenarkan mempunyai akses. Python ialah bahasa yang berkuasa, mudah dipelajari dan digunakan yang sangat popular dalam bidang seperti sains data dan pembangunan program web Ekosistemnya juga sangat kaya, menyediakan banyak perpustakaan dan rangka kerja untuk menjadikan pembangunan lebih mudah dan pantas.

Atas ialah kandungan terperinci Flask-RESTful dan Flask-HTTAuth: Amalan terbaik untuk pengesahan dan kebenaran pengguna dalam aplikasi web Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn