В случае 401 симуляция повторяется с тем же токеном с истекшим сроком действия - PullRequest
0 голосов
/ 24 июня 2019

Токен, который я получаю для аутентификации, не соответствует спецификации 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 но я не вижу способа справиться с этим.

...