如果要添加其他信息,從「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);
}
謝謝回覆。我的配置是xml,所以我應該爲身份驗證提供程序創建一個自定義類。什麼應該擴展或實施這個新班級?謝謝 – crisalide86
我測試了我的自定義身份驗證提供程序,但我注意到用戶名和密碼與client_id和client_secret相匹配,但我想比較它們的curl命令中的usernamae和密碼。 – crisalide86