Umsebenzisi ucindezela u-“Sign in”, afinyelele ikhasi lomhlinzeki bese ebuyela ku-Rails. Isinyathelo esilandelayo sisengase sihluleke ngoba siqala uxhumano olusha olusuka kuseva ye-Rails.

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

Isiphequluli silandela ukwedluliswa kwemvume ngokulungiselelwa kwakho kwenethiwekhi, kanti i-Rails yenza ukushintshwa kwethokheni emzileni wangemuva nge-HTTP client ekhethwe isu le-OmniAuth elifakiwe. Umsebenzi ogijima ngemuva kwe-proxy yenkampani udinga leyo ndlela ezicelweni zakhe eziya kumhlinzeki.

I-OAuth 1.0 nayo inesinyathelo sethokheni yesicelo ohlangothini lweseva ngaphambi kokuba umsebenzisi agunyaze ukufinyelela. Ukugeleza kwekhodi yemvume ye-OAuth 2.0 kunokushintshwa kwethokheni kwayo ngemuva kwe-callback. Ukulandelana okuqondile kuncike eswini, kodwa isiphequluli neseva yohlelo lokusebenza kuhlala kuyizindawo zokuqala ezihlukene.

Thola ukulungiselelwa kwe-client

Landela isu uze ufike ku-HTTP client ethumela ithokheni yayo nezicelo ze-API zomhlinzeki. Sebenzisa inketho ye-proxy ebhaliwe yaleyo client. Amanye amasu adlulisela izinketho ze-client kumtapo wezincwadi we-OAuth; amanye alungiselela uxhumano lwe-HTTP ngaphansi kwawo. Inketho eyamukelwa isu elilodwa ayibi yinketho ye-OmniAuth eyabiwe ngokuzenzakalela.

Vumela ama-URL emvume, ethokheni ne-callback omhlinzeki achaze izinsizakalo zakhe zangempela. I-proxy ephumayo iyisilungiselelo sokuthutha ukuze kufinyelelwe kumhlinzeki, hhayi ikheli le-callback elingena esikhundleni noma inkambu efakwa kumapharamitha wesicelo se-OAuth.

Lapho ulandelela ukungena, marka isinyathelo sokugcina esiqediwe. Ikhasi lokungena lomhlinzeki elibonisiwe lifakazela ukuthi indlela yesiphequluli yasebenza. I-callback etholwa yi-Rails ifakazela ukuthi isiphequluli sabuya. Isicelo sethokheni esilandelayo siyindawo yokuhlola uxhumano lwe-proxy, inselelo noma impendulo yomhlinzeki evela enqubweni ye-Rails.

Izihloko ezihlobene