5

Ich bin an einem Frühlings-Boot-Projekt suchen, die diesen Code hat:Wie wird AuthorizationServerSecurityConfigurer verwendet?

public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception { 
    oauthServer 
     .tokenKeyAccess("permitAll()") 
     .checkTokenAccess("isAuthenticated()"); 
} 

Leider alle Ressourcen überall (zB Google, Frühling docs, Frühling oauth docs), der mir erklärt, wie ich bin nicht in der Lage zu finden, tatsächlich AuthorizationServerSecurityConfigurer verwenden. Außerdem verstehe ich nicht genau was tokenKeyAccess("permitAll()") oder checkTokenAccess("isAuthenticated()") tun.

Andere als mir zu helfen zu verstehen, was diese beiden Funktionen tun, bitte helfen Sie mir zu lernen, wo diese Art von Informationen in der Zukunft suchen.

Antwort

7

Spring-Sicherheit OAuth stellt zwei Endpunkte für die Überprüfung von Tokens zur Verfügung (/oauth/check_token und /oauth/token_key). Diese Endpunkte sind standardmäßig nicht verfügbar (Zugriff auf "denyAll()").

Also, wenn Sie die Token mit diesem Endpunkt überprüfen möchten, müssen Sie haben diese config auf Ihre Autorisierungsserver hinzuzufügen:

@Override 
public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception { 
    oauthServer.tokenKeyAccess("isAnonymous() || hasAuthority('ROLE_TRUSTED_CLIENT')") 
       .checkTokenAccess("hasAuthority('ROLE_TRUSTED_CLIENT')"); 
} 

einige weitere Details finden Sie in der "Resource Server Configuration" section of the Spring Security OAuth2 documentation finden.