2017-03-02 4 views
2

Im Moment verwende ich JWT Authentifizierung für meine Django REST API.Django JWT und OAuth Authentifizierung und Autorisierung

Aber aus der JWT-Bibliothek kann ich das Token nach dem Ablauf nicht aktualisieren. (5 Minuten) https://github.com/GetBlimp/django-rest-framework-jwt

Also muss ich das OAuth 2.0 für das Aktualisierungstoken und das JWT-Token für Zugriffstoken integrieren.

Wie kann ich JWT + OAuth 2.0 für mein REST Framework integrieren? oder irgendwelche Proben?

EX: https://github.com/GetBlimp/django-rest-framework-jwt Plus https://django-oauth-toolkit.readthedocs.io/en/latest/#

Antwort

0

Die Route, die wir gegangen sind ist die Token-Ablaufzeit zu erhöhen (lets bis 36 Stunden sagen), und dann, wenn ein bestimmte Schwellenwert erreicht wird, (wie 12 Stunden bevor das Token abläuft), fordern Sie ein neues Token vom Server an.

Warum 36 und 12? Völlig hypothetisch hier, aber ein Benutzer könnte einen Aufstellungsort einmal alle 1.5 Tage besuchen, und ein 12-stündiges Fenster für das Auffrischen lässt Zeit, damit sie ein Leben außerhalb unserer Web site haben (das klingt verrückt, aber das ist eine andere Geschichte). Wählen Sie die Stunden, die dem Verhalten Ihrer Benutzer entsprechen. Versuchen Sie, eine Zeit zu finden, in der Nutzer wahrscheinlich auf Ihre Website zurückkehren und eine fundierte Entscheidung über ein Aktualisierungsfenster treffen. Natürlich hat JWT auch ein aktualisierbares Zeitlimit, das Sie vielleicht in einigen Anwendungen gesehen haben, die sagen "Melden Sie sich für die nächsten 30 Tage an", nach denen der Benutzer sich erneut authentifizieren muss.

Sicherheits weise? Nach dem Lesen einer Reihe von Antworten von SO scheint es, dass längere Verfallszeiten Ihre JWTs nicht anfälliger machen. Wenn Sie paranoid sind, können Sie die JWTs, die alt sind, auf die schwarze Liste setzen (aber immer noch Zeit übrig haben), aber das Übergehen von HTTPS sollte für die meisten Fälle ausreichend sein.

Verwandte Themen