在Spring Security中配置许多OAuth2授权类型

时间:2019-01-09 17:54:56

标签: java spring-security oauth-2.0 spring-security-oauth2

我有一个使用两种OAuth2授权类型的Spring Boot应用程序:

  • client_credentials
  • 列表项

授权码

实际上,我没有找到用于配置两个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解决方案,实际上不是很方便的解决方案:(

0 个答案:

没有答案