OmniAuth-bejelentkezés nyomon követése proxyn keresztül
Kövesse a böngésző átirányítását és a Rails oldali tokencserét, hogy a proxyt azokon a kéréseken állítsa be, amelyeknek szükségük van rá.
A felhasználó a „Bejelentkezés” gombra kattint, eljut a szolgáltató oldalára, majd visszatér a Railshez. A következő lépés mégis meghiúsulhat, mert új kapcsolatot indít a Rails kiszolgálóról.
browser → provider authorization page → browser callback to Rails
Rails → provider token endpoint → Rails
A böngésző a saját hálózati beállításaival követi az engedélyezési átirányítást. A Rails a háttércsatornán végzi a tokencserét azzal a HTTP-ügyféllel, amelyet a telepített OmniAuth-stratégia kiválaszt. A vállalati proxy mögött futó folyamatnak szüksége van erre az útvonalra a szolgáltatóhoz intézett kérésein.
Az OAuth 1.0-nak is van kiszolgálóoldali kérelemtoken-lépése, mielőtt a felhasználó engedélyezné a hozzáférést. Az OAuth 2.0 engedélyezési kód folyamatának saját tokencseréje van a visszahívás után. A pontos sorrend a stratégiától függ, de a böngésző és az alkalmazáskiszolgáló továbbra is külön kiindulópont.
Keresse meg az ügyfél konfigurációját
Kövesse a stratégiát addig a HTTP-ügyfélig, amely elküldi a tokenjét és a szolgáltató API-kéréseit. Használja annak az ügyfélnek a dokumentált proxybeállítását. Egyes stratégiák az ügyfélbeállításokat egy OAuth-könyvtárnak adják át; mások HTTP-kapcsolatot állítanak be alatta. Az egyik stratégia által elfogadott beállítás nem automatikusan közös OmniAuth-beállítás.
Hagyja, hogy a szolgáltató engedélyezési, token- és visszahívási URL-jei a valódi szolgáltatásait írják le. A kimenő proxy átviteli beállítás a szolgáltató eléréséhez, nem helyettesítő visszahívási cím, és nem a OAuth-kérés paramétereihez adandó mező.
Bejelentkezés nyomon követésekor jelölje meg az utolsó befejezett lépést. A megjelenített szolgáltatói bejelentkező oldal bizonyítja, hogy a böngésző útvonala működött. A Rails által fogadott visszahívás bizonyítja, hogy a böngésző visszatért. A következő tokenkérés az a pont, ahol a Rails-folyamat felőli proxykapcsolatot, kihívást vagy szolgáltatói választ vizsgálni kell.