您好我有一个针对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自定义错误。 我该怎么办?
由于
答案 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);
}