Spring Security OAuth2用户凭据不正确
嗨,我有一个OAuth2的spring配置xml文件。 我已将其配置为需要名为curl的参数和效果来请求令牌。它发出如下请求: curl-X POST-v-d“grant\u type=password&client\u id=test&client\u secret=test&username=user1&password=password1” 我希望如果提示用户名和密码错误的令牌,它将生成一个json自定义错误。 我该怎么办Spring Security OAuth2用户凭据不正确,spring,spring-mvc,oauth,oauth-2.0,spring-security-oauth2,Spring,Spring Mvc,Oauth,Oauth 2.0,Spring Security Oauth2,嗨,我有一个OAuth2的spring配置xml文件。 我已将其配置为需要名为curl的参数和效果来请求令牌。它发出如下请求: curl-X POST-v-d“grant\u type=password&client\u id=test&client\u secret=test&username=user1&password=password1” 我希望如果提示用户名和密码错误的令牌,它将生成一个json自定义错误。 我该怎么办 如果您想添加其他信息,请从“TokenEnhancer”实现自定义
如果您想添加其他信息,请从“TokenEnhancer”实现自定义的“OAuthTokenEnhancer”类,谢谢。在增强方法中,您可以添加其他信息
@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;
}
谢谢你的回答。我的是一个配置xml,所以我应该为身份验证提供程序创建一个自定义类?该如何扩展或实现这个新类?thanksi已经测试了我的自定义身份验证提供程序,但是我注意到用户名和密码与client_id和client_secret匹配,但是我想比较curl命令中的usernamae和密码。
if(!checkpassword()){
authentication.setAuthenticated(false);
throw new BadCredentialsException(ERROR_MESSAGE);
}