是否可以以编程方式更新/重置访问 token 的到期时间?如果是,哪个类/过滤器是执行此操作的最佳位置,以便可以在 JDBC token 存储中更新到期时间。
最佳答案
要全局更新访问 token 的到期时间,您应该创建 DefaultTokenServices
的实例并注入(inject)到 AuthorizationServerEndpointsConfigurer
中,如下所示:
public AuthorizationServerTokenServices customTokenServices(){
TokenServices tokenServices = new DefaultTokenServices();
tokenServices.setReuseAccessToken(reuseAccessToken);
tokenServices.setTokenStore(tokenStore());
tokenServices.setSupportRefreshToken(true);
tokenServices.setAccessTokenValiditySeconds(<seconds>);
tokenServices.setClientDetailsService(clientDetailsService);
return tokenServices;
}
&将此tokenServices
放入AuthorizationServerEndpointsConfigurer
中,如下所示。
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints.tokenServices(customTokenServices()).
}
关于Spring OAUTH2 - 访问 token 到期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32994788/