Есть ли способ настроить ClientDetailsServiceConfigurer accessTokenValiditySeconds после запуска службы? - PullRequest
0 голосов
/ 18 февраля 2019

Я хочу иметь возможность настроить время жизни токена доступа со стороны клиента, а не только при запуске сервера с Oauth2.На данный момент я могу установить время истечения только при запуске сервера, см. Мой код ниже.

@Configuration
@EnableAuthorizationServer
@EnableGlobalMethodSecurity(securedEnabled = true)
public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {

  @Value("${oauth.clientId}")
  private String clientId;
  @Value("${oauth.secret}")
  private String secret;
  @Value("${oauth.resourceId}")
  private String resourceId;
  @Value("${oauth.tokenTimeout}")
  public int expiration;
  @Value("${oauth.refreshTokenTimeout}")
  private int refreshTokenExpiration;


....


  @Override
  public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
    clients.inMemory()
        .withClient(clientId)
        .secret(passwordEncoder().encode(secret))
        .accessTokenValiditySeconds(expiration)
        .refreshTokenValiditySeconds(refreshTokenExpiration)
        .scopes("read", "write")
        .authorizedGrantTypes("password", "refresh_token")
        .resourceIds(resourceId);
  }
}
...