1

So entscheiden Sie, welche Authentifizierung für die Authentifizierung verwendet werden soll. (Beispiel: formularbasierte Authentifizierung oder Token-basierte Authentifizierung).Unterschied zwischen formularbasierter Authentifizierung und Token-basierter Authentifizierung

Welche Vorteile bietet die Verwendung der Token-basierten Authentifizierung über die Authentifizierung von Formularen/Sitzungen/Cookies? Ich habe mehrere Artikel online gelesen, aber immer noch unklar.

Kann mir jemand erklären, wie man zwischen diesen beiden für Web-und Mobile-Plattform Benutzer-Authentifizierung wählen.

Antwort

2

JWT ist besser, es sei denn, Sie haben ein bestimmtes Bedürfnis, das mir nicht bekannt ist.

Sitzung erfordert Cookies und Cookies funktioniert nur im Browser JWT: im Wesentlichen, Daten im JSON-Format, so dass Sie in verschiedenen Plattform damit arbeiten können.

Auch JWT ist mehr gesichert. Sie wären anfällig für CSRF-Angriffe, wenn Sie Cookies als dauerhaften Authentifizierungsmechanismus verwenden. Ein Hacker kann das Opfer auf seine Website locken und auf Schaltflächen klicken, und seine Anfrage wird als Opfer gesendet, da bei jeder Anfrage automatisch Cookies gesendet werden.

Mit JWT können Sie es in Ihrem Speicher speichern, d. H. localStorage für den Desktop. JWT wird manuell mit jeder Anfrage von Ihnen gesendet. Also wird das obige Szenario nicht passieren.

Kann ein Hacker Ihre JWT in localStorage ändern und weitere Ansprüche hinzufügen, d. H.: Ändern Sie den Benutzertyp von "Benutzer" auf "admin", nein !. Es erfordert einige private Schlüssel, die nur der Server hat. Sie können Aut0 ausprobieren und in jwt.io testen.

Das sind die wichtigsten Punkte, imo. Es gibt andere Vorteile, aber Sie können leicht über Google herausfinden.

+0

So kann ein Benutzer-Session-Objekt aus Stored Procedure von einem Hacker in irgendeiner Weise geändert werden. – gorp88

+0

Gespeicherte Prozedur? wenn du localStorage meintest, dann nein. Die einzige Möglichkeit zum Erstellen/Ändern des Tokens ist, wenn Sie den geheimen Schlüssel haben, den Sie auf dem Server behalten. – lock22

1

Ich benutze Token Baes mit einem RESTful API und Session-basierte mit Web-Anwendung (mit Ausnahme von SAP, da ich in der Regel ein API für die Service-Schicht zu erstellen).

Die Hauptschlussfolgerung hier ist einfach für mich, mit jeder API ich möchte alles im Header oder im Körper gesendet. Als solche Token basiert ist der Weg zu gehen. Mit MVC ist es mir jedoch egal, da ich die Ansichten rendere und nicht nur Daten.

Verwandte Themen