Rastrejar un inici de sessió d'OmniAuth a través d'un proxy
Seguiu la redirecció del navegador i l'intercanvi de testimoni al costat de Rails per configurar el proxy a les peticions que el necessiten.
L'usuari fa clic a «Inicia sessió», arriba a la pàgina del proveïdor i torna a Rails. El pas següent encara pot fallar perquè inicia una connexió nova des del servidor de Rails.
browser → provider authorization page → browser callback to Rails
Rails → provider token endpoint → Rails
El navegador segueix la redirecció d'autorització amb la seva pròpia configuració de xarxa. Rails fa l'intercanvi de testimoni pel canal posterior amb el client HTTP que tria l'estratègia d'OmniAuth instal·lada. Un procés que s'executa darrere d'un proxy corporatiu necessita aquesta ruta a les seves peticions al proveïdor.
OAuth 1.0 també té un pas de testimoni de sol·licitud al costat del servidor abans que l'usuari autoritzi l'accés. El flux de codi d'autorització d'OAuth 2.0 té el seu propi intercanvi de testimoni després de la devolució de trucada. La seqüència exacta depèn de l'estratègia, però el navegador i el servidor d'aplicacions continuen sent punts de partida diferents.
Localitzeu la configuració del client
Seguiu l'estratègia fins al client HTTP que envia el testimoni i les peticions a l'API del proveïdor. Feu servir l'opció de proxy documentada d'aquest client. Algunes estratègies passen les opcions del client a una biblioteca OAuth; d'altres configuren una connexió HTTP a sota. Una opció acceptada per una estratègia no és automàticament una opció compartida d'OmniAuth.
Deixeu que els URL d'autorització, de testimoni i de devolució de trucada del proveïdor descriguin els seus serveis reals. El proxy de sortida és un paràmetre de transport per arribar al proveïdor, no una adreça de devolució de trucada substitutòria ni un camp que s'afegeixi als paràmetres de la petició OAuth.
Quan rastregueu un inici de sessió, marqueu l'últim pas completat. Una pàgina d'inici de sessió del proveïdor mostrada demostra que la ruta del navegador ha funcionat. Una devolució de trucada rebuda per Rails demostra que el navegador ha tornat. La petició de testimoni posterior és el punt on cal inspeccionar una connexió de proxy, un repte o una resposta del proveïdor provinent del procés de Rails.