2017-11-23 2 views
1

Für jetzt versuche ich flask-oauthlib mit flask-login zusammen zu verwenden.Wie benutze ich flask-oauthlib mit flaschen-login zusammen?

flask-oauthlib bietet eine einfache Möglichkeit, oauth zu verwenden, aber ich möchte, dass ein Login-Manager automatisch alle Benutzer umleitet, die nicht bei /login angemeldet sind. In flask-login kann ich login_required verwenden, um dies zu erreichen. Aber wie kann ich das erreichen, indem ich flask-oauthlib?

Weiter, wie Sitzung zu verwalten, wenn flask-oauthlib verwendet wird? Ich verstehe, wie SSO funktioniert, aber ich verwirre, wie ich wissen könnte, ob dieses Token abgelaufen ist oder nicht?

Antwort

0

Also habe ich einige Zeit darüber nachgedacht (wie ich es für meine eigene Website tun möchte), und ich habe eine theoretische Lösung gefunden.

Aus meiner Sicht in der Implementierung der OAuth-API von Google geht es bei OAuth darum, dem Benutzer eine Verknüpfung zu dem Server zu senden, auf dem die OAuth-Schlüssel gespeichert sind, und dann zurück zum Absender zu senden. Meine Idee ist also, dass Sie im Login-Formular Schaltflächen haben, die als Links zum OAuth-Client dienen.

Ich habe das nicht getestet, aber da niemand sonst darauf geantwortet hat, denke ich, das wird dir ein nettes kleines Projekt geben, um dich selbst zu implementieren und uns wissen lassen, ob es funktioniert.

+0

Eigentlich habe ich mein Problem neu überdacht, und schließlich erkannte ich, dass es keine Notwendigkeit gibt, darauf zu achten, dass das Token abgelaufen ist oder nicht. Wenn dies der Fall ist, authentifizieren Sie es erneut. Und OAUTH arbeitet gerade am ersten Schritt - Login. Nach der Authentifizierung dieses Benutzers wird die Verwaltung der Benutzersitzung von der Drittanbieteranwendung selbst übernommen. Zusammenfassend wird OAUTH nur für die Authentifizierung von Benutzern, aber nicht für die Verwaltung von Sitzungen verwendet. – Sraw

+0

@sraw ja. OAuth hat nichts mit Sitzungen zu tun, Sie könnten es mit Flask verwalten. – lepture