O usuario preme «Iniciar sesión», chega á páxina do provedor e volve a Rails. O paso seguinte aínda pode fallar porque abre unha conexión nova desde o servidor de Rails.

browser → provider authorization page → browser callback to Rails
Rails   → provider token endpoint → Rails

O navegador segue o redireccionamento de autorización coa súa propia configuración de rede. Rails realiza o intercambio de token pola canle posterior co cliente HTTP que escolle a estratexia de OmniAuth instalada. Un proceso que se executa detrás dun proxy corporativo necesita esa ruta nas súas peticións ao provedor.

OAuth 1.0 tamén ten un paso de token de solicitude no servidor antes de que o usuario autorice o acceso. O fluxo de código de autorización de OAuth 2.0 ten o seu propio intercambio de token despois da chamada de retorno. A secuencia exacta depende da estratexia, pero o navegador e o servidor de aplicacións seguen sendo puntos de partida distintos.

Localiza a configuración do cliente

Segue a estratexia ata o cliente HTTP que envía o seu token e as peticións á API do provedor. Usa a opción de proxy documentada dese cliente. Algunhas estratexias pasan as opcións do cliente a unha biblioteca OAuth; outras configuran unha conexión HTTP por debaixo. Unha opción aceptada por unha estratexia non é automaticamente unha opción compartida de OmniAuth.

Deixa que os URL de autorización, token e chamada de retorno do provedor describan os seus servizos reais. O proxy de saída é un axuste de transporte para chegar ao provedor, non un enderezo de chamada de retorno substituto nin un campo que se engada aos parámetros da petición OAuth.

Cando rastrexes un inicio de sesión, marca o último paso completado. Unha páxina de inicio de sesión do provedor amosada demostra que a ruta do navegador funcionou. Unha chamada de retorno recibida por Rails demostra que o navegador volveu. A petición de token posterior é o punto onde inspeccionar unha conexión de proxy, un desafío ou unha resposta do provedor desde o proceso de Rails.

Artigos relacionados