我们使用的是Spring Security OAuth2,版本2.0.6.RELEASE。
为了使其正常运行,我们已成功覆盖ClientDetailsService
,如下所示。现在让我们说ClientDetailsService
:
public class CustomClientDetailsService implements ClientDetailsService {
@Autowired
private ClientRepository clientRepository;
@Override
public ClientDetails loadClientByClientId(String clientId) throws ClientRegistrationException {
...
if(some condition) {
throw new SomeCustomException();
}
...
此异常导致401返回给客户。但我们有理由为什么要返回400而不是。我们如何定制此例外?普通@ExceptionHandler
内容似乎根本不适用于此特定OAuth身份验证流程。