2017-12-19 3 views
1

Ich brauche einen REST-API auf meiner app (Basierend auf Flask)Wie sichert einen REST-API auf Kolbe

zu entwickeln, aber ich weiß nicht wirklich, wie ich soll es sichern.

Derzeit habe ich eine normale Authentifizierung für Benutzer, die von einem Browser kommen. (Verwenden der Sitzung usw.)

Aber für die API-Benutzer, sollte ich den Benutzernamen/das Passwort bei jeder API-Anfrage fragen? Ist es wirklich gesichert? Ich weiß, dass viele Web-API Token für API-Aufrufe verwenden, ist es die beste Methode?

Und in diesem Fall, wie es zu implementieren? (Dies ist nicht wirklich mein Fachgebiet ..) Vielen Dank

+0

Werfen Sie einen Blick hier, würde es Ihnen helfen. Trotzdem können Sie jedes Paket für Redis-Sitzungen verwenden, um eine bessere Leistung zu erzielen. Es handelt sich einfach um ein Token-basiertes Authentifizierungskonzept. https://realpython.com/blog/python/token-based-authentication-with-flask/ – msoliman

Antwort

3

Sie token based authentication Technik verwenden, sollten Sie Ihre API zu sichern, ist das Konzept einfach ist, wenn Ihre Benutzer meldet sich, Ihre Website, um sie irgendwo sparen sollte und Sie zurückschicken dieses Token für Ihren Benutzer.

Für jeden Aufruf an Ihre API, Benutzer sollte Token mit jeder API-Anfrage senden und Sie sollten die codierte Toke validieren und entweder verweigern oder die Antwort zurücksenden.

Werfen Sie einen Blick hier: https://realpython.com/blog/python/token-based-authentication-with-flask/

prüfen dies zu http://flask-jwt-extended.readthedocs.io/en/latest/

Für eine bessere Leistung, können Sie Ihre Session-Token in einer NOSQL Datenbank wie Redis speichern kann.

Um Logins mit Social-Media-Sites zu unterstützen, sollten Sie OAuth verwenden, das auf die gleiche Weise funktioniert, außer dass einige weitere Token an den Client gesendet werden.

Bitte hinterlassen Sie einen Kommentar, wenn Sie Fragen haben, und vergessen Sie nicht, meine Antwort, um zu bewerten, thanx

+0

Es sollte beachtet werden, dass Sie bei der Verwendung von JWT Ihre Token überhaupt nicht im Backend speichern müssen. Jedes Token enthält genügend Informationen, um festzustellen, ob es gültig und nicht manipuliert ist, ohne dass etwas auf dem Server gespeichert werden muss. – vimalloc