Проследяване на вход през OmniAuth чрез прокси
Проследете пренасочването в браузъра и размяната на токен от страна на Rails, за да настроите проксито за заявките, които го изискват.
Потребителят натиска „Вход“, достига до страницата на доставчика и се връща в Rails. Следващата стъпка все още може да се провали, защото тя отваря нова връзка от сървъра на Rails.
browser → provider authorization page → browser callback to Rails
Rails → provider token endpoint → Rails
Браузърът следва пренасочването за оторизация чрез собствените си мрежови настройки. Rails извършва размяната на токен по обратния канал чрез HTTP клиента, избран от инсталираната стратегия на OmniAuth. Работник, който работи зад корпоративно прокси, се нуждае от този маршрут за заявките си към доставчика.
OAuth 1.0 също има стъпка за токен на заявка от страна на сървъра, преди потребителят да разреши достъп. Потокът с код за оторизация на OAuth 2.0 има собствена размяна на токен след обратното извикване. Точната последователност зависи от стратегията, но браузърът и сървърът на приложението остават различни начални точки.
Намерете конфигурацията на клиента
Проследете стратегията до HTTP клиента, който изпраща нейния токен и заявките към API на доставчика. Използвайте документираната опция за прокси на този клиент. Някои стратегии предават опциите на клиента към библиотека за OAuth; други настройват HTTP връзка под нея. Опция, приета от една стратегия, не е автоматично обща опция на OmniAuth.
Оставете URL адресите за оторизация, токен и обратно извикване на доставчика да описват действителните му услуги. Изходящото прокси е транспортна настройка за достигане до доставчика, а не заместващ адрес за обратно извикване или поле, което се добавя към параметрите на заявката за OAuth.
Когато проследявате вход, отбелязвайте последната завършена стъпка. Показаната страница за вход на доставчика доказва, че маршрутът на браузъра е работил. Полученото от Rails обратно извикване доказва, че браузърът се е върнал. Следващата заявка за токен е мястото, където да проверите за прокси връзка, предизвикателство или отговор от доставчика от процеса на Rails.