Spring Security OAuth2用户凭据不正确

时间:2015-06-15 16:02:48

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

您好我有一个针对OAuth2的spring配置xml文件。 我已经配置它,以便需要名为curl的参数和效果来请求令牌。它发出如下请求:

curl -X POST -v http://localhost:8080/oauth/token -d“grant_type = password& client_id = test& client_secret = test& username = user1& password = password1”

我希望如果提示用户名和密码错误的令牌,则会生成json自定义错误。 我该怎么办?

由于

1 个答案:

答案 0 :(得分:0)

如果您想添加其他信息,请提供自定义" OAuthTokenEnhancer"来自" TokenEnhancer"的课程。在增强方法中,您可以添加其他信息。

 @Override
    public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) {
        DefaultOAuth2AccessToken result = (DefaultOAuth2AccessToken) accessToken;
        final Map<String, Object> additionalInformation = new HashMap<>();
        additionalInformation.put("prop name", "value");
        result.setAdditionalInformation(additionalInformation);

        return result;
    }

如果要返回自定义错误,可以在自定义&#34; AuthenticationProvider&#34;中使用自定义异常。 (&#34;验证&#34;方法),如:

if(!checkpassword()){
     authentication.setAuthenticated(false);
     throw new BadCredentialsException(ERROR_MESSAGE);
}