Heim >Backend-Entwicklung >Python-Tutorial >Flask-RESTful und Flask-HTTPAuth: Best Practices für die Benutzerauthentifizierung und -autorisierung in Python-Webanwendungen
Mit der Popularität von Webanwendungen sind Benutzerauthentifizierung und -autorisierung immer wichtiger geworden. Diese Funktionen schützen sensible Daten und wichtige Funktionen in Webanwendungen, sodass nur autorisierte Benutzer darauf zugreifen können. Die Python-Sprache bietet viele Bibliotheken und Frameworks, die die Implementierung der Benutzerauthentifizierung und -autorisierung in Webanwendungen erleichtern. In diesem Artikel werden zwei Python-Bibliotheken vorgestellt: Flask-RESTful und Flask-HTTPAuth, die Best Practices für die Implementierung von Authentifizierung und Autorisierung in Webanwendungen sind.
pip install Flask pip install Flask-RESTful pip install Flask-HTTPAuth
Als nächstes müssen Sie Flask-RESTful und Flask-HTTPAuth in Ihre Flask-Anwendung importieren:
from flask import Flask from flask_restful import Api, Resource from flask_httpauth import HTTPBasicAuth app = Flask(__name__) api = Api(app) auth = HTTPBasicAuth()
Dann können Sie einen registrierten Benutzer erstellen zur Identitätsprüfung:
users = { "john": "hello", "susan": "bye" } @auth.get_password def get_password(username): if username in users: return users.get(username) return None
Hier wird ein einfaches Benutzerwörterbuch (Benutzername und Passwort) definiert und über die Rückruffunktion get_password an Flask-HTTPAuth übergeben. Stellen Sie in der Funktion „get_password“ zunächst fest, ob der Benutzername in der Anforderung im Benutzerwörterbuch enthalten ist. Andernfalls wird „Keine“ zurückgegeben, was darauf hinweist, dass die Authentifizierung fehlgeschlagen ist.
Jetzt können Flask-RESTful und Flask-HTTPAuth auf Anwendungen angewendet werden, um Authentifizierung und Autorisierung für APIs zu implementieren. Hier ist ein Beispiel:
class PrivateResource(Resource): @auth.login_required def get(self): return {"message": "Hello, %s!" % auth.username()}, 200 api.add_resource(PrivateResource, '/private')
Im obigen Code wird eine geschützte Ressource PrivateResource erstellt, wobei der login_required-Dekorator in Flask-HTTPAuth zur Authentifizierung verwendet wird. Wenn Benutzername und Passwort in der Anfrage übereinstimmen, gibt der Aufruf der get-Methode ein JSON-Objekt zurück, das den Benutzernamen enthält.
Nachdem Sie die Route erstellt haben, können Sie die Flask-Anwendung ausführen und sich mit Benutzername und Passwort authentifizieren:
$ curl -u john:hello http://localhost:5000/private {"message": "Hello, john!"} $ curl -u susan:bye http://localhost:5000/private {"message": "Hello, susan!"}
Das obige ist der detaillierte Inhalt vonFlask-RESTful und Flask-HTTPAuth: Best Practices für die Benutzerauthentifizierung und -autorisierung in Python-Webanwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!