Ich habe ein Frontend (SPA, angular2, lite-server) und ein verstecktes Backend (nicht public, dh localhost: 8080, Springboot + Spring Security), Frontend kann auf Backend per Proxy zugreifen frontend/api
Anrufe an backend/api
unter der Haube.OAuth2: Autorisierungscode Zuschussfluss
Grundsätzlich sind die Schritte für diese Art von OAuth2 Strömung sind:
- On UI - treffen URL zu Autorisierungs-Server mit redirect_uri angegeben
- Autorisieren
- Holen Sie sich zurück mit Zugangscode redirect_uri
- ???
- Server tauscht Zugangscode für ein Autorisierungs-Token und hält sie
- Benutzer (authentifiziert) wird zurück auf die Seite er
Ich kann nicht die Schritte zwischen 3 und 5 für den Zugriff eingeschränkt wurde mein Backend-Server ist unsichtbar, der Redirect_uri sollte der im Frontend sein. Ich könnte möglicherweise eine frontend/api/auth
verwenden, die den Anruf an backend/api/auth
Proxy und Backend wird erfolgreich erhalten die Autorisierung gewähren jedoch in diesem Fall Benutzer wird nicht zurück zu einem Frontend umgeleitet werden. Also, sollte ich den Code in der Javascript und eine POST zu /api/auth
von der Javascript statt?
Auch bekomme ich nicht, wie man zu Schritt 6 danach als nach allen Weiterleitungen SPA-App wird neu geladen (den Status) und redirect_uri ist eine URL zu /api/auth
.
Wie haben Sie das gelöst? – flyer88
Das erste - zu Spring-sozialen anstelle von Frühjahr-oauth2 geschaltet, aber sobald Sie die Idee, können Sie das gleiche mit Feder-oauth2 tun. Also, die Schritte sind: 0) Konfigurieren Sie entweder Umleitung URL oder geben Sie es als Parameter an/api/auth/facebook umleiten 1) Klicken Sie auf Autorisieren Symbol ->/api/auth/facebook -> Backend/auth/facebook 2) Backend startet den Tanz und auf komplett geht um URL umleiten (siehe Schritt 0) 3) unter der Haube wird es/api/auth/facebook? authorization_code = blabla 4) Frühling kümmert sich darum, stellen Sie sicher, dass Sie Frühling einrichten nach Erfolg auf die Benutzeroberfläche umleiten (successHandler.setDefaultTargetUrl) –