OAuth oder JWT? Welche Sie benutzen und warum?
Bin ich angefangen zu lernen über token-basierte Authentifizierung, und ich bin versucht zu lernen, wie es zu implementieren, in Laravel 5. Ich habe zwei sehr populäre Technologien, die das tun, aber ich bin verwirrt, da ich neu bin auf diese beiden Technologien.
Dieser Artikel bei Medium sagt, ich sollte gehen mit lucadegasperi/oauth2-server-laravel, die ich bin sicher, dass ist ein sehr beliebtes Paket ist in der Gemeinschaft ist gemessen an der Zahl der Sterne auf Github und die Anzahl der Referenzen, haben mich dazu gebracht es. Dieses soll mir helfen, mich mit OAuth Implementierung.
Diese anderen Artikel bei Scotch.io ermutigt mich zu verwenden tymondesigns/jwt-auth, die ist auch wieder sehr beliebt die Beurteilung durch die Anzahl der Sterne auf Github.
In diesem Punkt bin ich unentschlossen, von denen eine zu verwenden vor allem, weil ich bin ein Anfänger-Entwickler und ich haben nicht funktioniert, entweder von Ihnen.
Könnte jemand darauf hinweisen zu mir, was sind die vor-und Nachteile zu jedem einzelnen von Ihnen und denen, die ich umsetzen sollte? Wird mein Projekt geben auch diktieren, welche Art sollte ich verwenden? Und wie?
Außerdem, wenn Sie machen ein argument, dass ich wählen einen über den anderen, könnte man auch darauf hinweisen, guten Ressourcen, die helfen würde, mich mit Ihnen anfangen. Anders als die beiden links stellte ich mich natürlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
JWT ist ein einfaches Authentifizierungsprotokoll Oauth ist ein authentication framework.
Einen erfahrenen Entwickler wird etwa einen Monat dauern, um vollständig zu verstehen und umzusetzen Oauth. Ein erfahrener Entwickler kann pick-up die JWT-Protokoll in etwa einem Tag mit dem Lesen der Spezifikationen. Also im Grunde läuft es auf Ihren spezifischen Anwendungsfall.
Wenn Sie wollen einfache, zustandslose http-Authentifizierung, um eine api, dann JWT ist ganz gut und relativ schnell umsetzbar, auch für einen Anfänger-Entwickler.
Wenige JWT Ressourcen für Sie:
Und ein Oauth-Ressource:
JWT steht für JSON Web Token wie der name andeutet, ist es nur ein token für die übertragung der gesicherten Daten zwischen zwei Parteien, das heißt client und server.
Oauth2 auf andere hatte, ist ein Satz von Regeln oder ein Verfahren allgemein als ein framework zur Authentifizierung und Autorisierung von beiden Parteien zu übertragen, gesicherte Daten.
Folgenden Diagramm wird erklärt, wie Sie funktioniert oauth2
Hier ist eine ausführlichere Erklärung zu den Schritten in der Abbildung:
Beides kann zusammen verwendet werden, in der übertragung von sicheren Daten.
Wo JWT ins Spiel kommen, 3. - 6. Schritte der oauth2
JSON Web Token (JWT) ist ein offener standard (RFC-7519), der definiert, eine kompakte und in sich geschlossene Weise, die für die sichere übertragung von Informationen zwischen den Parteien als JSON-Objekt. Diese Informationen können überprüft und als vertrauenswürdig eingestuft, da es Digital signiert ist. JWTs unterzeichnet werden kann, mit einem geheimen Schlüssel (mit dem HMAC-Algorithmus) oder ein öffentliches/privates Schlüsselpaar mit RSA.
OAuth 2.0 ist mit dem Protokoll für die Autorisierung. OAuth 2.0 ersetzt die Arbeit an der ursprünglichen OAuth-Protokoll im Jahr 2006 erstellt. OAuth 2.0 konzentriert sich auf die client-Entwickler die Einfachheit, während die Bereitstellung von spezifischen Genehmigung flows für web-Anwendungen, desktop-Anwendungen, Mobiltelefonen und Wohnzimmer-Geräten. Diese Spezifikation entwickelt innerhalb der IETF-OAuth-WG.
- Das OAuth-Wir haben unterschiedliche Arten von tokens.
1) WS-Security-tokens, insbesondere SAML-Token
2) JWT Token
3) Legacy Token
4) Benutzerdefinierte tokens
Ist die wichtigste Sache zu verstehen, beim Vergleich von JWT und OAuth2, ist, dass Sie nicht gleichermaßen. Oder sogar inkompatibel ist.
JWT ist ein Authentifizierungsprotokoll, das
Dies bedeutet, dass es einen strengen Satz von Anweisungen für die Erstellung und Validierung von signierten access-Token. Die Token enthalten, die Ansprüche, die verwendet werden, durch eine app, um den Zugriff auf einen Benutzer.
**OAuth2 ist ein Autorisierungs-Framework **
OAuth2 auf der anderen Seite ist ein Rahmen, denke sehr ausführliche Leitlinie, dass Benutzer und Anwendungen autorisieren Sie bestimmte Berechtigungen zu anderen Anwendungen in privaten und öffentlichen Einstellungen.
Paar gute links:
[1]: https://community.apigee.com/questions/21139/jwt-vs-oauth.html
[2]: https://youtu.be/XGmUlyggXVo
[3]: http://www.seedbox.com/en/blog/2015/06/05/oauth-2-vs-json-web-tokens-comment-securiser-un-api/