Spring OAuth2 erklärt die Konfiguration des Autorisierungsservers

Bublik

Ich versuche, die OAuth-Sicherheit zu implementieren, und habe ein Problem festgestellt, das für mich nicht klar genug ist.

Während der Implementierung habe AuthorizationServerConfigurerich drei Konfiguratoren:

  • ClientDetailsServiceConfigurerWird verwendet, um anzugeben, wie und woher Kundendaten abgerufen werden sollen. Beispielsweise kann es sich um einen Dienst handeln, der registrierte Clients aus der Datenbank bereitstellt.

Wenn es darum geht AuthorizationServerSecurityConfigurerund AuthorizationServerEndpointsConfigurerich nicht sicher bin, was sie tun oder wie sie konfiguriert werden sollen. In der Dokumentation stand nur:

AuthorizationServerEndpointsConfigurer: Definiert die Autorisierungs- und Token-Endpunkte sowie die Token-Dienste.

Vielleicht kann jemand in einfachen Worten erklären, was diese beiden Konfiguratoren tun oder wofür sie verwendet werden.

Ali Dehghani

AuthorizationServerConfigurerJavadoc ist informativer als die verknüpfte Dokumentation. AuthorizationServerSecurityConfigurerKonfiguriert, wie der Name schon sagt, die Sicherheit des Autorisierungsservers selbst. Sie können beispielsweise die Sicherheit der OAuth-Endpunkte überschreiben, z. B. /oauth/tokeneinen Handler für den Zugriff verweigern oder den SSL-Zugriff einschränken. In der Dokumentation heißt es dazu:

Konfigurieren Sie die Sicherheit des Autorisierungsservers, dh praktisch den /oauth/tokenEndpunkt. Der /oauth/authorizeEndpunkt muss ebenfalls sicher sein, dies ist jedoch ein normaler Endpunkt für Benutzer und sollte auf die gleiche Weise wie der Rest Ihrer Benutzeroberfläche gesichert werden. Daher wird er hier nicht behandelt. Die Standardeinstellungen decken die häufigsten Anforderungen ab und folgen den Empfehlungen der OAuth2-Spezifikation. Sie müssen hier also nichts unternehmen, um einen Basisserver zum Laufen zu bringen.

Wie für AuthorizationServerEndpointsConfigurer:

Konfigurieren Sie die nicht sicherheitsrelevanten Funktionen der Authorization Server-Endpunkte wie Token-Speicher, Token-Anpassungen, Benutzergenehmigungen und Gewährungstypen. Sie sollten standardmäßig nichts tun müssen, es sei denn, Sie benötigen Kennwortgewährungen. In diesem Fall müssen Sie ein Kennwort angeben AuthenticationManager.

Hier ist ein Beispiel aus einem meiner Projekte:

@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
    endpoints
            .authenticationManager(authenticationManager)
            .tokenStore(jwtTokenStore())
            .tokenEnhancer(tokenEnhancer());
}

Hier habe ich ein JwtTokenStoreals mein TokenStoreund ein angegeben, AuthenticationManagerda ich Password Grants verwendet habe .

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

Aufrufen der OAuth2-REST-Endpunkte des Spring-Autorisierungsservers

Spring to Ping: So konfigurieren Sie den Spring Rest Service für die Verwendung des externen Autorisierungsservers PingFederate

Wie überschreibe ich die automatische Konfiguration des Spring Cloud OAuth2-Clients?

OAuth 2.0 - Rolle des Ressourcenservers, des Autorisierungsservers und des Ressourcenbesitzers

Wie erreiche ich die Anmeldeseite des Openiddict-Autorisierungsservers?

spring boot oauth2 Konfiguration: Ressourcenserver bleibt ungeschützt

Spring OAuth2 Multi Server Annotations Konfiguration (Ressource & Autorisierung)

Spring Security oauth2 und Formular-Login-Konfiguration

Spring OAuth2: XML -> Java-Konfiguration

Jeder, der die Magie des groovigen Verschlusses / Jenkins erklärt

Hinzufügen des Werts "nonce" zur Token-Antwort des Spring-Autorisierungsservers

spring: Anpassen des authorisationEndpoint (OAuth2)

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

Was ist das einfachste Beispiel für Spring OAuth2 mit Java-Konfiguration?

spring oauth2 Autorisierungscode Flow, Konfiguration für VK (Vkontakte)

Spring OAuth2 XML-Konfiguration für Client und Ressourcenserver

Kein AuthenticationProvider für Aktualisierungstoken gefunden - Spring OAuth2 Java-Konfiguration

Wie wird die Ausgabe des folgenden Codes erklärt? (im Zusammenhang mit Typografie in C)

Ich brauche jemanden, der die Idee und den Algorithmus zum Problem des Passwortgenerators erklärt

Gibt es Vorteile bei der Verwendung von OAuth 2.0 anstelle eines benutzerdefinierten Spring-Authentifizierungs- / Autorisierungsservers ohne Clients von Drittanbietern?

git.properties ist für die automatische Konfiguration des Spring Boot nicht sichtbar

Best Practices für die Konfiguration des Spring Boot-Verbindungspools

Die XML-Bean-Konfiguration des Spring-Profils muss sich am Anfang der Datei befinden

Konfiguration des Task-Executors für die asynchrone Anforderungsverarbeitung von Spring Boot

Die Konfiguration von Spring Config Server überschreibt das Argument vm des Serverports

Der eingebettete Tomcat von Spring Boot ignoriert die Konfiguration des Zugriffsprotokolls

Grails Spring Webflow - Die log4j-Konfiguration funktioniert nicht innerhalb des Flow Closure

Spring Cache zum Deaktivieren des Cache durch die cacheName-Konfiguration

Android Layout-Gewicht: Wie erklärt man die Berechnung des Anteils, wenn die Breite 'match_parent' gesetzt ist?

TOP Liste

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

    Eclipse Oxygen - Projekte verschwinden

  5. 5

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

  6. 6

    Wie kann ich den Kaskadenmodus global einstellen?

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  15. 15

    Wie wählt man Unterschiede mit drei Tabellen aus?

  16. 16

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

  17. 17

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  18. 18

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

  19. 19

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

  20. 20

    Modbus Python Schneider PM5300

  21. 21

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

heißlabel

Archiv