Brugeren klikker på “Log ind”, når udbyderens side og vender tilbage til Rails. Det næste trin kan stadig fejle, fordi det åbner en ny forbindelse fra Rails-serveren.

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

Browseren følger autorisationsviderestillingen med sin egen netværkskonfiguration. Rails udfører tokenudvekslingen på bagkanalen med den HTTP-klient, som den installerede OmniAuth-strategi vælger. En worker, der kører bag en virksomhedsproxy, har brug for den rute på sine anmodninger til udbyderen.

OAuth 1.0 har også et anmodningstoken-trin på serversiden, før brugeren autoriserer adgang. OAuth 2.0's autorisationskodeflow har sin egen tokenudveksling efter callbacket. Den præcise rækkefølge afhænger af strategien, men browseren og applikationsserveren forbliver forskellige udgangspunkter.

Find klientens konfiguration

Følg strategien til den HTTP-klient, der sender dens token og anmodninger til udbyderens API. Brug den pågældende klients dokumenterede proxyindstilling. Nogle strategier sender klientindstillinger videre til et OAuth-bibliotek; andre konfigurerer en HTTP-forbindelse under det. En indstilling, som én strategi accepterer, er ikke automatisk en fælles OmniAuth-indstilling.

Lad udbyderens autorisations-, token- og callback-URL'er beskrive deres faktiske tjenester. Den udgående proxy er en transportindstilling til at nå udbyderen, ikke en erstatningsadresse for callback eller et felt, der føjes til OAuth-anmodningens parametre.

Når du sporer et login, skal du markere det sidst fuldførte trin. En vist login-side hos udbyderen bekræfter, at browserens rute virkede. Et callback, som Rails modtager, bekræfter, at browseren vendte tilbage. Den efterfølgende tokenanmodning er stedet at undersøge for en proxyforbindelse, en udfordring eller et svar fra udbyderen fra Rails-processen.

Relaterede artikler