Kolben HTTP-Basicauth - Wie funktioniert das?
Ich versuche, erstellen Sie ein login-system mit Flasche und HTTP-Basic-Auth. Meine Frage ist, ist es mein Verantwortung, um Benutzer-Informationen aus Datenbanken, oder hat basicauth erstellen und Zugriff auf diese Datenbanken für mich? Wenn nicht, was kann ich tun?
- basicauth ist ein standard für den Austausch von Benutzernamen und Passwörter, die mit einem server.. Es wird nicht liefern Informationen für den Benutzer zu authentifizieren, Nein.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werkzeug Dekodieren kann die Basic Authorization-header, in dem Benutzername und Passwort. Der rest ist bis zu Ihnen, um zu sehen, was Sie tun möchten, dass die Informationen an.
Den
- Anfrage.Autorisierung
- Attribut gibt eineAuthorization
Objekt. Für basic-authentication-Header, nurusername
undpassword
gesetzt sind.Einem einfachen Flasche-snippet verfügbar ist, verwendet das Objekt in einem Dekorator zu schützen Fläschchen Strecken gegen einige hart kodierte Informationen.
Einem Projekt wie
Kolben-Login
kann Ihnen helfen, verwalten komplexer Anmeldungen mit Basic-Autorisierung und Krawatte, die mit einem user-Modell, das Sie bieten. Das Modell kann in einer Datenbank gespeichert werden oder alles was Sie sonst noch so begehrt.Und Sie können sich Kolben-Sicherheit für eine voll integrierte security-Paket mit Kolben-Login-und andere Pakete enthalten Grundlegende Authentifizierung und session-basierte logins.
Den Kolben-HTTPAuth Erweiterung (shameless plug, ich bin der Autor) vereinfacht die Implementierung von HTTP-Basic-Auth. Statt zu arbeiten, mit der
request.authorization
Daten direkt richten Sie callback-Funktionen, bei denen Sie die plug-Authentifizierung Logik.Bezüglich Ihrer Datenbank Frage, Kolben-HTTPAuth macht keine Annahmen über den Benutzer gespeichert sind. Sie haben, um die Logik zum abrufen der Benutzer und Passwörter überprüft.
Werkzeug analysiert den
Authorization
header inrequest.authorization
, die eineAuthorization
Objekt.Aus Sicherheitsgründen ein browser kann nur senden Sie diesen header, wenn es zum ersten mal erhielten einen 401-error-response mit einem
WWW-Authenticate
header gesetzt. Ein anderer client, wie die requests-Bibliothek, sendet die header direkt.Der einfachste Beweis dafür ist ein decorator, der prüft
request.authorization
und gibt eine 401-Antwort, wenn es nicht gesetzt wird, oder wenn die Zugangsdaten waren ungültig. In der Praxis sollten Sie eine Verlängerung wie Kolben-Login oder Kolben-HTTPAuth dies zu verwalten.