Spring Security OAuth2 token 源码处理逻辑
公司项目使用OAuth2做登录,主要使用Spring Security OAuth2搭建的授权服务器和资源服务器,文档可参考官方指导文档 https://projects.spring.io/spring-security-oauth/docs/oauth2.html,对于accessToken 和refreshToken看下代码中是如何生成和存储的,稍做记录。
调用/oauth/token获取token:
1.用的post方式调用,所以进入了org.springframework.security.oauth2.provider.endpoint.TokenEndpoint.postAccessToken
通过clientId从数据库中读取了该clientId对应的记录authenticatedClient ,该变量的值包含:
ClientDetails authenticatedClient = getClientDetailsService().loadClientByClientId(clientId);
其中accessTokenValiditySeconds是acessToken的过期时间,对应于数据库字段ac