hier ist das, was ich zu erreichen bin versucht:Spring Security oauth 2 Client-Anwendung nicht Token Gültigkeit überprüfen
Ich habe ein Unternehmen oauth 2 Provider, ich will ihre Login-Formular verwenden und erhalten Code, Zugriffstoken und so weiter von diesem Anbieter
hier ist mein conf
security:
oauth2:
client:
clientId: MY_CLIENT_ID
clientSecret: asecret
accessTokenUri: https://blabla/oauth-server/oauth/token
userAuthorizationUri: https://blabla/oauth-server/oauth/authorize
tokenName: access_token
scope : read
userInfoUri: https://localhost/user
ich kann meinen Code erhalten, die für einen Zugriffstoken geändert wird, alles ist in Ordnung, es ist meinen lokalen Endpunkt Aufruf an Benutzerinformationen (Rollen erhält für Beispiel)
aber wenn ich den Code debuggen kann ich keine expires_in Wert irgendwo sehen und mein Token läuft überhaupt nicht ab.
hier ist mein Ressource-Server conf
@EnableResourceServer
@EnableOAuth2Sso
@RestController
public class SecurityController extends ResourceServerConfigurerAdapter {
private static final String RESOURCE_ID = "my_rest_api";
@Override
public void configure(ResourceServerSecurityConfigurer resources) {
resources.resourceId(RESOURCE_ID).stateless(true);
}
@Override
public void configure(HttpSecurity http) throws Exception {
http.requestMatchers().anyRequest().and().authorizeRequests();
http.
anonymous().disable()
.requestMatchers().antMatchers("/**/*")
.and().authorizeRequests()
.antMatchers("/**/*").access("#oauth2.hasScope('read')")
.and().exceptionHandling().accessDeniedHandler(new OAuth2AccessDeniedHandler());
}
}
Ich kann nicht fidn, wie das Token
zu widerrufen, jede Idee ist willkommen, ich habe ein paar Stunden lesen Tutorials verloren ...
ich coud aber das Token vali Dity sollte von Author Provider kommen, oder? – Seb
Ich glaube, Sie verwenden einen In-Memory-basierten Client. Sie können die Gültigkeit des Zugriffstokens für jeden Client aktualisieren, wenn Sie den Tokenspeicher in eine Datenbank verschieben. –
Ich benutze in der Tat in Speicher speichern, aber immer noch, ich bekomme die expires_in Wert von der Auth-Provider und dies sollte verwendet werden und überprüft von Spring, nein? Oder verstehe ich etwas nicht? – Seb