Spring- Security没有为org.springframework.security.oauth2.provider.OAuth2Authentication找到AuthenticationProvider

时间:2019-03-19 04:45:11

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

我正在使用authorization_code授予类型来生成访问令牌。

我正在使用/ oauth / confirm_access路径来获取用户对scope = read的批准。

在用户批准上述范围之后,将生成身份验证代码,该代码用于生成访问令牌。

当我使用该访问令牌从控制器获取用户的详细信息时。它给了我下面的错误

{
    "error": "unauthorized",
    "error_description": "No AuthenticationProvider found for org.springframework.security.oauth2.provider.OAuth2Authentication"
}

我还没有在BaseClientDetails中设置setAutoApproveScopes来使用confirm_access路径。

 BaseClientDetails baseClientDetails = new BaseClientDetails();
    baseClientDetails.setClientId(clientId);
    baseClientDetails.setClientSecret(getClientSecret(clientId));
    baseClientDetails.setAuthorizedGrantTypes(Arrays.asList("authorization_code", "refresh_token"));
    baseClientDetails.setScope(StringUtils.commaDelimitedListToSet("read"));
    //baseClientDetails.setAutoApproveScopes(StringUtils.commaDelimitedListToSet("read"));
    baseClientDetails.setAccessTokenValiditySeconds(Integer.valueOf(accessTokenValiditySeconds));
    baseClientDetails.addAdditionalInformation("clientName", getClientName(clientId));
    baseClientDetails.setRegisteredRedirectUri(parseRedirectUri(clientId));
    return baseClientDetails;

有人可以帮忙吗?

0 个答案:

没有答案
相关问题