У меня есть требование, когда, когда код ошибки проксируемого ответа - 401 ( условие # 1 ), а в теле ответа есть текст «Нет токена SAML» ( условие # 2 ), мне нужно чтобы перехватить его и перенаправить на refre sh token API.
Я мог бы сделать это частично, где учитывается только код ошибки 401. Не удалось найти способ прочитать текст ответа, чтобы дать условие № 2 :
location /service {
proxy_intercept_errors on;
error_page 401 = @refresh;
}
location @refresh {
(# Here check if the response body has text "No SAML Token". If yes return 401 directly.)
set $original_uri $scheme://$http_host$request_uri;
return 307 https://localhost:8083/service/auth/refresh?uri=$original_uri;
}
Пожалуйста, помогите мне получить текст ответа. Заранее спасибо!