您好,有一种情况,我需要在控制器类中检索使用 OAuth2AccessToken 存储的附加详细信息。我用过
accessToken.setAdditionalInformation(additionalInformation);
保存数据。如何获取我存储在控制器类的additionalInformation中的数据?
我们可以使用 HttpServletRequest,从 Authorization 标头中获取令牌,然后从令牌存储中获取令牌详细信息。 我的代码片段在下面分享。
public TokenData getTokenData(HttpServletRequest request) throws InputInvalidException {
TokenData tokenData = null;
try {
String authHeader = request.getHeader("Authorization");
if (authHeader != null) {
String tokenValue = authHeader.toLowerCase().replace("bearer", "").trim();
OAuth2AccessToken accessToken = tokenStore.readAccessToken(tokenValue);
tokenData = (TokenData) accessToken.getAdditionalInformation().get("tokenData");
}
} catch (Throwable exception) {
logger.error(exception);
throw new InputInvalidException("token invalid");
}
return tokenData;
}