2015-06-15 42 views
0

嗨,我有一個OAuth2的彈簧配置xml文件。 我在爲需要稱爲捲曲請求token.It的參數和效果這樣的方式構造使得它的請求,例如:春季安全OAuth2用戶憑據不正確

捲曲-X POST -v http://localhost:8080/oauth/token -d「grant_type =密碼& CLIENT_ID =測試& client_secret =測試&用戶名= USER1 &密碼=密碼1"

我想如果提示輸入用戶名和密碼不對令牌,它生成了JSON自定義錯誤。 我該怎麼辦?

感謝

回答

0

如果要添加其他信息,從「TokenEnhancer」 impliment定製的「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; 
    } 

如果你想返回一個自定義錯誤,你可以在你的自定義「的AuthenticationProvider」(「認證」方法)使用自定義異常,如:

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

謝謝回覆。我的配置是xml,所以我應該爲身份驗證提供程序創建一個自定義類。什麼應該擴展或實施這個新班級?謝謝 – crisalide86

+0

我測試了我的自定義身份驗證提供程序,但我注意到用戶名和密碼與client_id和client_secret相匹配,但我想比較它們的curl命令中的usernamae和密碼。 – crisalide86