Токен, который я получаю для аутентификации, не соответствует спецификации OAuth2, поэтому я не могу использовать 'expires_in', чтобы оценить, когда истекает срок действия токена. Я использую ErrorDecoder
для оценки при http-ошибке, а в случае 401 я повторяю
if (HttpStatus.UNAUTHORIZED.value() == response.status()) {
oAuth2ClientContext.setAccessToken(null);
return new RetryableException("Feign Auth 401 detected. will retry", Request.HttpMethod.POST, new Date());
}
Но в этот момент я повторяю попытку с тем же токеном с истекшим сроком действия, и если я устанавливаю токен в значение null, как я делал выше, то я получаю 2 заголовка авторизации в моем запросе, что приводит к 400. Я ввел OAuth2FeignRequestInterceptor
но я не вижу способа справиться с этим.