ici est ce que je suis en train de réaliser:sécurité Spring OAuth 2 application client ne peut pas vérifier la validité jeton
J'ai un fournisseur de oauth d'entreprise 2, je veux utiliser le formulaire de login et obtenir le code, jeton d'accès et ainsi de suite ce fournisseur
voici ma 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
je peux obtenir mon code qui est changé pour un jeton d'accès, tout va bien, qu'il appelle mon point de terminaison local pour obtenir des informations utilisateur (rôles exemple)
mais lorsque je débogue le code, je ne vois aucune valeur expires_in nulle part et mon jeton n'expire pas du tout.
voici mon serveur ressource 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());
}
}
Je ne peux pas fidn comment révoquer le jeton
toute idée est la bienvenue, j'ai perdu un tas de tutoriels de lecture de l'heure ...
Je Coud mais le jeton Vali Dity devrait provenir du fournisseur auth droit? – Seb
Je crois que vous utilisez un client basé sur la mémoire. Vous pouvez mettre à jour la validité du jeton d'accès pour chaque client lorsque vous déplacez le token-store dans une base de données. –
J'utilise en effet dans le magasin de mémoire en effet mais toujours, j'obtiens la valeur expires_in du fournisseur d'autorisation et ceci devrait être utilisé et vérifié par Spring, non? Ou y a-t-il quelque chose que je ne comprends pas? – Seb