Ich habe versucht, die Funktionsweise von OAuth 2.0 in meiner eigenen RESTful-App zu lernen, und ich kann keine gute Erklärung dafür finden, wie mein Javascript-Client den Prozess verarbeitet.Verstehen der Verantwortlichkeiten des Kunden in OAuth 2.0
An dieser Stelle habe ich den Client (ein Angular 2 SPA) fragen Sie den Benutzer nach ihrem Benutzernamen und Passwort (Laufendes Django Rest Framework zusammen mit Django Oauth Toolkit). Der Client erstellt einen AJAX-Post auf dem Server (speziell auf/o/token), und mithilfe des Ressourceneigentümerkennworts wird der Datenfluss authentifiziert und empfängt die Antwort mit dem Token.
Wenn ich nun davon ausgehe, dass ich bis zu diesem Punkt alles richtig mache, bin ich nicht sicher, wie ich das Token von diesem Punkt an richtig handhaben kann.
An dieser Stelle habe ich meine Angular App App das Token in einer Variablen speichern und den Autorisierungsheader (mit dem Token) an die Aufrufe an die API angehängt. Dies funktioniert so weit wie das Gewähren der korrekten Berechtigungen, aber es ist schwierig für mich zu verstehen, wie die Persistenz des Headers beibehalten wird (wenn der Benutzer also zu einer anderen Seite navigiert, ist das Token weiterhin aufrufbar). Anfangs habe ich es in einem Cookie gespeichert, aber ich habe Bedenken bezüglich der Sicherheit.
Also, zuerst verstehe ich das alles richtig? Welche Sicherheitsbedenken sollte ich hier berücksichtigen? Und natürlich, wie kann ich das Token auf dem Client speichern?