Ich werde OAuth 2.0 und REST API damit implementieren
um verschiedene Berechtigungen pro Benutzer zu erteilen und auch gut zu skalieren.
Für eine gute Skalierung ist zustandslos einfacher, weil es
gibtNO Datei, Datenbank, speicherbasierte Sitzung damit.
Im Folgenden verstehe ich OAuth 2.
Ich muss mich also nicht um den Sitzungsspeicher kümmern. Richtig?
Was Sie hier beschreiben, ist der OAuth 2 Implicit Grant flow . OAuth 2 enthält auch drei andere Abläufe, aber da Ihr Ressourcenbesitzer (der Benutzer) Anfragen mit browser-seitigem JavaScript initiiert (Sie haben über Cookies gesprochen), sollten Sie diesen Flow verwenden.
Auf der Clientseite müssen Sie in OAuth nur die access_token
für den Zugriff auf geschützte Ressourcen speichern (und eine refresh_token
wenn Sie eine ablaufende access_token
-Option durchführen möchten.
Eine neuere Innovation ist JWT - JSON Web Token.
Hier ist ein Link zur Spezifikation: JWT - JSON Web Token
JWT ist eine Methode zur Verwendung von Hash-Token mit einer Hash-Methode wie HMAC, die für einen Hash-basierten Nachrichtenauthentifizierungscode steht. Da das Token mit einem geheimen Schlüssel verschlüsselt wird, kann der Server feststellen, ob das Token manipuliert wurde.
Hier ist eine Beispielmethode zum Erstellen eines Hash-Tokens für JWT:
%Vor%Hier ist ein Beispiel für die Decodierung eines Tokens, um sicherzustellen, dass es nicht manipuliert wurde:
%Vor%Hier ist ein Artikel mit einem vollständigeren Beispiel: Stateless Authentication