Spring Boot OAuth2 - 如何访问刷新令牌以便以后保存

时间:2017-11-17 05:19:50

标签: java spring spring-boot spring-security-oauth2

我正在尝试使用Eclipse的软件包,使用他们的客户端GitHubClient访问GitHub。

客户端上的一个方法是setOAuth2Token,它需要一个String标记。我假设这是一个刷新令牌。

无论哪种方式,我都可以使用Spring OAuth2使用GitHub登录,但我不知道如何检索刷新令牌。我可以检索持票人令牌:

@GetMapping()
public PingResponse ping(@Autowired Principal principal) {

OAuth2Authentication userDetails = (OAuth2Authentication) principal;
OAuth2AuthenticationDetails userOAuthDetails = (OAuth2AuthenticationDetails) userDetails.getDetails();
OAuth2ProtectedResourceDetails protectedUserDetails = (OAuth2ProtectedResourceDetails) principal;


logger.info("user details: " + userDetails);
logger.info("user details credentials: " + userDetails.getCredentials());
logger.info("oauth user details: " + userOAuthDetails);
logger.info("token type: " + userOAuthDetails.getTokenType());
logger.info("token value: " + userOAuthDetails.getTokenValue());
logger.info("decoded details: " + userOAuthDetails.getDecodedDetails());
logger.info("Ping on the server was successful.");

return new PingResponse("Connection is successful!");
}  

但是,我似乎无法获得刷新令牌。

我希望得到它,以便我可以将其保存在数据库中,以便稍后在上代表用户执行操作,而无需用户登录。

如何获取刷新令牌以便以后保存?

谢谢!

0 个答案:

没有答案