我有一个使用两种OAuth2授权类型的Spring Boot应用程序:
授权码
实际上,我没有找到用于配置两个grant_types的Spring Security配置示例。
我实际上在做的是愚蠢的:
public class CustomTokenServices implements ResourceServerTokenServices {
...
@Override
public OAuth2Authentication loadAuthentication(String accessToken) {
OAuth2Authentication authenticationAsUserInfo = null;
try {
authenticationAsUserInfo = loadAuthenticationAsUserInfo(accessToken);
} catch (Exception e) {
logger.warn(e.getMessage());
}
if (authenticationAsUserInfo == null) {
return loadAuthenticationAsRemote(accessToken);
}
return authenticationAsUserInfo;
}
...
}
这是一个if-else解决方案,实际上不是很方便的解决方案:(