OmniAuth pieteikšanās izsekošana caur starpniekserveri
Sekojiet pārlūka novirzīšanai un Rails puses pilnvaras apmaiņai, lai konfigurētu starpniekserveri tiem pieprasījumiem, kuriem tas nepieciešams.
Lietotājs noklikšķina uz “Pieteikties”, nonāk pakalpojumu sniedzēja lapā un atgriežas Rails. Nākamais solis tomēr var neizdoties, jo tas atver jaunu savienojumu no Rails servera.
browser → provider authorization page → browser callback to Rails
Rails → provider token endpoint → Rails
Pārlūks veic autorizācijas novirzīšanu ar savu tīkla konfigurāciju. Rails veic pilnvaras apmaiņu aizmugures kanālā ar HTTP klientu, ko izvēlas instalētā OmniAuth stratēģija. Darbiniekam, kas darbojas aiz uzņēmuma starpniekservera, šis maršruts ir nepieciešams tā pieprasījumos pakalpojumu sniedzējam.
Arī OAuth 1.0 ir servera puses pieprasījuma pilnvaras solis pirms lietotājs atļauj piekļuvi. OAuth 2.0 autorizācijas koda plūsmai pēc atzvanīšanas ir sava pilnvaras apmaiņa. Precīzā secība ir atkarīga no stratēģijas, bet pārlūks un lietojumprogrammas serveris joprojām ir atšķirīgi sākumpunkti.
Atrodiet klienta konfigurāciju
Sekojiet stratēģijai līdz HTTP klientam, kas sūta tās pilnvaru un pakalpojumu sniedzēja API pieprasījumus. Izmantojiet šī klienta dokumentēto starpniekservera opciju. Dažas stratēģijas nodod klienta opcijas OAuth bibliotēkai; citas konfigurē HTTP savienojumu zem tās. Opcija, ko pieņem viena stratēģija, automātiski nav kopīga OmniAuth opcija.
Ļaujiet pakalpojumu sniedzēja autorizācijas, pilnvaras un atzvanīšanas URL aprakstīt tā faktiskos pakalpojumus. Izejošais starpniekserveris ir transporta iestatījums, lai sasniegtu pakalpojumu sniedzēju, nevis aizvietojoša atzvanīšanas adrese un nevis lauks, ko pievieno OAuth pieprasījuma parametriem.
Izsekojot pieteikšanos, atzīmējiet pēdējo pabeigto soli. Parādīta pakalpojumu sniedzēja pieteikšanās lapa pierāda, ka pārlūka maršruts darbojās. Rails saņemta atzvanīšana pierāda, ka pārlūks atgriezās. Nākamais pilnvaras pieprasījums ir vieta, kur pārbaudīt starpniekservera savienojumu, izaicinājumu vai pakalpojumu sniedzēja atbildi no Rails procesa.