Wie implementieren Sie die Token-Authentifizierung in Flask?

9

Ich versuche, Nutzern zu erlauben, sich mit ihren Konten über einen separaten Webservice bei meiner Flask-App anzumelden. Ich kann die API dieses Web-Service kontaktieren und ein Sicherheits-Token erhalten. Wie verwende ich dieses Token, um Benutzer zu authentifizieren, damit sie Zugriff auf eingeschränkte Ansichten haben?

Ich muss die Benutzer nicht in meiner eigenen Datenbank speichern. Ich möchte sie nur für eine Sitzung authentifizieren. Ich glaube, das kann mit Flask-Security und dem @auth_token_required Decorator gemacht werden, aber die Dokumentation ist nicht sehr detailliert und ich bin mir nicht sicher, wie ich das umsetzen soll.

BEARBEITEN:

Hier ist ein Codebeispiel:

%Vor%     
Amerikaner 10.09.2015, 19:37
quelle

1 Antwort

11

Hey da Amedikatoren!

Es sieht so aus, als wäre Ihr Anwendungsfall einfach genug, um dies selbst zu implementieren. Im folgenden Code werde ich Ihr Token in der Benutzersitzung speichern und einen neuen Wrapper einchecken. Lassen Sie uns beginnen, indem Sie unseren eigenen Wrapper erstellen. Normalerweise lege ich ihn einfach in eine wrappers.py-Datei, aber Sie können ihn dort platzieren, wo Sie möchten.

%Vor%

Cool!

Jetzt haben wir unseren Wrapper implementiert. Wir können sein Token einfach in der Sitzung speichern. Super einfach. Lass uns deine Funktion modifizieren ...

%Vor%

Jetzt können Sie die geschützten Ansichten mit dem @require_api_token-Wrapper überprüfen, so ...

%Vor%

BEARBEITEN Woah! Ich habe vergessen zu erwähnen, dass du deinen SECRET_KEY in deiner App-Konfiguration einstellen musst.

Nur eine config.py-Datei mit SECRET_KEY="SOME_RANDOM_STRING" reicht aus. Dann lade es mit ...

%Vor%     
F Boucaut 11.09.2015, 01:35
quelle