Spring OAUTH2 - 访问 token 到期时间

标签 spring spring-security-oauth2

是否可以以编程方式更新/重置访问 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/

相关文章:

java - Spring bean 的单例实现

java - 使用 Spring Security 验证来自 Google 的访问 token

java - 使用 OAuth2 和 JWT : Encoded password does not look like BCrypt 的 Spring Security

spring - 是否可以在没有客户端 key 的情况下从 Spring OAuth2 服务器获取 access_token ?

java - 如何在 OAuth 2 中向 JWT token 添加环境

java - 在 spring data jpa Base Repository 中按 id 查找

java - 无法在 Intellij 中设置 Spring boot

Spring data mongodb 使用 MongoTemplate 从文档中删除属性

java - 非 Spring 应用程序中的 Spring Retry?

java - RestController 在 oauth2 Spring Boot 中不起作用