Spring授权服务器能否仅通过application.yml配置Access Token TTL?
Spring授权服务器Access Token TTL配置方案
你之前的配置不生效,是因为access-token-validity-seconds的放置位置错误。在Spring Authorization Server中,该配置项需要放在客户端注册的settings节点下,而非直接在registration节点内。
正确的配置示例
security: oauth2: authorizationserver: client: qbr-client: registration: client-id: "${QBR_CLIENT_ID}" client-secret: "{noop}${QBR_CLIENT_SECRET}" client-authentication-methods: - "client_secret_basic" authorization-grant-types: - "client_credentials" settings: token: access-token-validity-seconds: 3600
关键说明
- 该配置仅对当前客户端申请的所有access token生效,将其有效期设置为3600秒(1小时)
- 若授权服务器使用JWT格式的access token,token payload中的
exp声明会同步更新为对应的过期时间 - 如需全局设置默认的access token有效期,可配置
spring.security.oauth2.authorizationserver.token.access-token-validity-seconds,该全局配置优先级低于客户端单独配置
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

