En OmniAuth-Login duerch e Proxy verfollegen
Verfollegt d'Viruleedung vum Browser an den Tokenaustausch op der Rails-Säit, fir de Proxy op deene Ufroen ze konfiguréieren, déi en brauchen.
E Benotzer klickt op „Anmellen“, erreecht d'Säit vum Provider a kënnt zréck op Rails. Den nächste Schrëtt kann awer nach feelen, well en eng nei Verbindung vum Rails-Server aus opmécht.
browser → provider authorization page → browser callback to Rails
Rails → provider token endpoint → Rails
De Browser verfollegt d'Autorisatiounsviruleedung mat senger eigener Netzwierkkonfiguratioun. Rails mécht den Tokenaustausch iwwer de Réckkanal mam HTTP-Client, dee vun der installéierter OmniAuth-Strategie gewielt gëtt. E Worker hannert engem Firmeproxy brauch déi Route bei sengen Ufroen un de Provider.
OAuth 1.0 huet och e Schrëtt mat Ufro-Token op der Serversäit, ier de Benotzer den Zougrëff autoriséiert. Den Autorisatiounscode-Floss vun OAuth 2.0 huet säin eegenen Tokenaustausch nom Callback. Déi genee Reiefolleg hänkt vun der Strategie of, awer de Browser an den Applikatiounsserver bleiwen ënnerschiddlech Ausgangspunkten.
D'Konfiguratioun vum Client fannen
Verfollegt d'Strategie bis zum HTTP-Client, deen hiren Token an d'Provider-API-Ufroen schéckt. Benotzt déi dokumentéiert Proxyoptioun vun deem Client. Verschidden Strategien iwwerginn d'Clientoptiounen un eng OAuth-Bibliothéik; anerer konfiguréieren eng HTTP-Verbindung drënner. Eng Optioun, déi eng Strategie akzeptéiert, ass net automatesch eng gemeinsam OmniAuth-Optioun.
Loosst d'Autorisatiouns-, Token- an Callback-URLen vum Provider seng tatsächlech Servicer beschreiwen. De Proxy no baussen ass eng Transportastellung, fir de Provider z'erreechen, net eng Ersatzadress fir de Callback an net e Feld, dat een den OAuth-Ufroparameter bäisetzt.
Wann Dir eng Anmeldung verfollegt, markéiert de leschte fäerdege Schrëtt. Eng ugewise Providersäit fir d'Anmellen beweist, datt d'Route vum Browser funktionéiert huet. E Callback, deen Rails kritt, beweist, datt de Browser zréckkoum. Déi duerno Tokenufro ass d'Plaz, wou Dir eng Proxyverbindung, eng Erausfuerderung oder eng Äntwert vum Provider aus dem Rails-Prozess iwwerpréift.