2016-07-09 15 views
0

Ich bin Web-Anwendung mit Spring bauen. Ich habe mehrere Spring-Client-Anwendungen und einen OAuth2-Autorisierungs- und Ressourcenserver. Der Endbenutzer authentifiziert sich zuerst in der Client-App und anschließend fordert die Client-App eine Ressource vom Ressourcenserver an (nachdem sie ein Zugriffstoken vom Autorisierungsserver erhalten hat), verarbeitet Daten und gibt sie an den Benutzer zurück. Der Benutzer kann Daten auch auf dem Ressourcenserver ändern, jedoch nur über die Client-App. Zum Abrufen von Ressourcen werden nur Client-Anmeldeinformationen verwendet. In diesem Fall ist der Ressourcenbesitzer ein vertrauenswürdiger Client.Spring OAuth2-Client, CSRF-Schutz

Auf dem Ressourcenserver werden nur Clientdetails und Ressourcen gespeichert, keine Informationen über den Endbenutzer. Dem Ressourcenserver ist es egal, wer die Ressource angefordert hat, nur diese Anfrage stammt von der autorisierten Client-App.

Client-App hat CSRF-Schutz, aber muss der CSRF-Schutz auf dem Autorisierungsserver aktiviert werden? Ich kann mir kein Angriffsszenario vorstellen, da die Kommunikation von Server zu Server erfolgt, die Anmeldeinformationen des Clients sind sicher gespeichert und der Benutzer kann nicht direkt auf die Ressource zugreifen.

Antwort

1

Wenn Ihr Autorisierungsserver nur über Anwendungsserver erreichbar ist, sehe ich nicht, welches Interesse Sie haben könnten, indem Sie den CSRF-Schutz für beide aktivieren. CSRF-Schutz auf Servern von Endbenutzern zugänglich sein sollte ausreichen. Wenn Ihr CSRF-Schutz auf Ihrem Anwendungsserver nicht funktioniert und Ihre Anwendung dann mit Ihrem Autorisierungsserver kommuniziert, sehe ich nicht, wie Sie dies in Ihrem Autorisierungsserver feststellen können, da die Anfrage von Ihrem Server erledigt wurde.

Verwandte Themen