Benötige ich einen Ressourcenserver mit Spring Security OAuth2?

Denis Stephanov:

Ich versuche, die OAuth2-Authentifizierung mit JWT-Token zu implementieren. Wenn ich das verstehe, muss ich Anmeldeinformationen an den Autorisierungsserver senden, meine Anmeldeinformationen überprüfen und das signierte JWT-Token zurückgeben. Als nächstes habe ich versucht zu implementieren, WebSecurityConfigwelche erweitert wird WebSecurityConfigurerAdapter, und dort muss ich festlegen, welche Endpunkte gesichert sind und welche nicht.

Aber meine Frage ist: brauche ich einen Ressourcenserver? Es macht den gleichen Job wie mein Potenzial WebSecurityConfigoder nicht?

Mein Ziel ist es, eine einfache JWT-Authentifizierung für meine Website zu erstellen.

schwer:

Sie benötigen den Ressourcenserver, da er Teil der OAuth2-Spezifikation ist :

Ressourcenserver

Der Server, der die geschützten Ressourcen hostet und in der Lage ist, geschützte Ressourcenanforderungen mithilfe von Zugriffstoken zu akzeptieren und darauf zu antworten.

Daher ist es auch Teil von Spring Security OAuth2.

Die Ressourcenserverkonfiguration ist mehr als eine Sicherheitskonfiguration, siehe OAuth 2-Entwicklerhandbuch :

Ressourcenserverkonfiguration

Ein Ressourcenserver (kann mit dem Autorisierungsserver oder einer separaten Anwendung identisch sein) stellt Ressourcen bereit, die durch das OAuth2-Token geschützt sind. Spring OAuth bietet einen Spring Security-Authentifizierungsfilter, der diesen Schutz implementiert. Sie können es mit @EnableResourceServereiner @ConfigurationKlasse einschalten und (nach Bedarf) mit a konfigurieren ResourceServerConfigurer. Folgende Funktionen können konfiguriert werden:

  • tokenServices: Die Bean, die die Token-Services definiert (Instanz von ResourceServerTokenServices).
  • resourceId: Die ID für die Ressource (optional, aber empfohlen und wird vom Authentifizierungsserver überprüft, falls vorhanden).
  • andere Erweiterungspunkte für den Resourecs-Server (z. B. tokenExtractor zum Extrahieren der Token aus eingehenden Anforderungen)
  • Matcher für geschützte Ressourcen anfordern (standardmäßig alle)
  • Zugriffsregeln für geschützte Ressourcen (standardmäßig "authentifiziert")
  • andere Anpassungen für die geschützten Ressourcen, die vom HttpSecurity-Konfigurator in Spring Security zugelassen werden

Die @EnableResourceServerAnmerkung fügt OAuth2AuthenticationProcessingFilterder Spring Security-Filterkette automatisch einen Filter vom Typ hinzu .

Sie können eine Spring Security-Konfiguration ( WebSecurityConfigurerAdapter) für andere Anpassungen für die geschützten Ressourcen verwenden, die vom HttpSecurity-Konfigurator in Spring Security zugelassen werden. Es ist jedoch besser, die Ressourcenserverkonfiguration zu verwenden, da:

  • Kapselung (alle Konfigurationen für den Ressourcenserver in einer Klasse)
  • Konfigurationsreihenfolge (Sie müssen die Reihenfolge nicht ändern)
  • Komplexität (eine Klasse statt zwei Klassen)

und es ist der empfohlene Weg.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Spring Security OAuth2 reiner Ressourcenserver

Spring Security oauth2 Login und Ressourcenserver in derselben Anwendung

Wie kann ich Httpsecurity auf dem Ressourcenserver mithilfe von Spring Security OAuth2 in Java dynamisch konfigurieren?

Spring Boot mit Sicherheit OAuth2 - Wie verwende ich den Ressourcenserver mit dem Web-Anmeldeformular?

Was ist ein Ressourcenserver in OAuth2 mit Spring Cloud Micro-Service?

Wie extrahiere ich Ansprüche aus Spring Security OAuht2 Boot auf dem Ressourcenserver?

Wie ich OAuth2-Ressourcenserver mit Mock teste

Wie benötige ich einen Ordner mit geerbten Klassen?

Benötige ich einen Puffer?

Wie verwende ich Spring Security OAuth2 mit Apache Wicket?

Mit oAuth2 kann ich mich nicht bei Spring Security anmelden

Benötige ich einen Konstruktorkörper in Angular2?

Warum ist meine Ressource in Spring OAuth2 immer noch ungeschützt, obwohl ich sie auf meinem Ressourcenserver markiert habe?

Spring 5 Oauth2 - Wie kann ich die URL des Prüftokens auf meinem Ressourcenserver bereitstellen?

spring boot oauth2 Konfiguration: Ressourcenserver bleibt ungeschützt

Spring OAuth: Ressourcenserver mit Authorization Server-Backend

Wie benötige ich select2 mit Webpacker / Rails?

Eine Sicherheitsanfälligkeit auf dem spring-security-oauth2-Ressourcenserver konnte nicht behoben werden

CSRF-Token von Spring Security - Kann ich reines HTML verwenden oder benötige ich JSP?

Wie kann ich mit NodeJS in PostgreSQL gespeicherte Sitzungsinformationen mit dem von Spring Security OAuth2 erstellten JWT abrufen?

Spring Cloud Gateway OAuth2 mit Spring Security OAuth2 Authorization Server = Schleife

Benötige ich einen Escape-Unterstrich, wenn ich MySQL mit JDBC Preparedstatement abfrage?

Spring Security 5-Restclient mit OAuth2

Authentifizieren Sie verschiedene Benutzertypen mit Spring Security OAuth2

Spring Security oauth2 Login mit Google

Projektreaktor: Benötige ich einen Prozessor?

Benötige ich einen Artikel in einem Hauptelement?

Benötige ich einen Parameter in dieser Funktion?

Wie aktualisiert OAuth2 Token mit Spring Security 5 OAuth2 Client und RestTemplate

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv