Olùṣàmúlò kan tẹ “Wọlé”, ó dé ojú-ìwé olùpèsè, ó sì padà sí Rails. Ìgbésẹ̀ tó kàn lè ṣì kùnà nítorí pé ó bẹ̀rẹ̀ ìsopọ̀ tuntun láti ọ̀dọ̀ sáfà Rails.

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

Ẹ̀rọ ìwò ń tẹ̀lé àtúnjúwe àṣẹ pẹ̀lú ètò nẹ́tíwọ́kì tirẹ̀, nígbà tí Rails ń ṣe ìpààrọ̀ token ní ọ̀nà ẹ̀yìn pẹ̀lú HTTP kíláìẹ̀ntì tí ìlànà OmniAuth tí a fi sínú ẹ̀rọ yàn. Òṣìṣẹ́ tó ń ṣiṣẹ́ lẹ́yìn proxy ilé-iṣẹ́ nílò ọ̀nà yẹn nínú àwọn ìbéèrè rẹ̀ sí olùpèsè.

OAuth 1.0 pẹ̀lú ní ìgbésẹ̀ token ìbéèrè ní ẹ̀gbẹ́ sáfà kí olùṣàmúlò tó fọwọ́ sí ìwọlé. Ọ̀nà kóòdù àṣẹ OAuth 2.0 ní ìpààrọ̀ token tirẹ̀ lẹ́yìn ìpèpadà. Ọ̀nà pàtó náà sinmi lórí ìlànà, ṣùgbọ́n ẹ̀rọ ìwò àti sáfà ohun-èlò náà wà ní àwọn ibi ìbẹ̀rẹ̀ ọ̀tọ̀ọ̀tọ̀.

Wá ètò kíláìẹ̀ntì náà

Tẹ̀lé ìlànà náà dé HTTP kíláìẹ̀ntì tí ń fi token rẹ̀ àti àwọn ìbéèrè API olùpèsè ránṣẹ́. Lo àṣàyàn proxy tí a kọ sílẹ̀ fún kíláìẹ̀ntì yẹn. Àwọn ìlànà kan ń fi àṣàyàn kíláìẹ̀ntì ránṣẹ́ sí ilé-ìkàwé OAuth; àwọn mìíràn ń ṣètò ìsopọ̀ HTTP nísàlẹ̀ rẹ̀. Àṣàyàn tí ìlànà kan gbà kì í ṣe àṣàyàn OmniAuth tí a pín lẹ́ẹ̀kansi.

Jẹ́ kí àwọn URL àṣẹ, token àti ìpèpadà olùpèsè ṣàpèjúwe àwọn iṣẹ́ gidi rẹ̀. Proxy ìjáde jẹ́ ètò gbígbé láti dé ọ̀dọ̀ olùpèsè, kì í ṣe àdírẹ́sì ìpèpadà àròpo tàbí pápá tí a fi kún àwọn pàrámítà ìbéèrè OAuth.

Nígbà tí o bá ń tọpin ìwọlé, samì ìgbésẹ̀ tí ó kẹ́yìn tí ó parí. Ojú-ìwé ìwọlé olùpèsè tí a fi hàn jẹ́rìí pé ọ̀nà ẹ̀rọ ìwò ṣiṣẹ́. Ìpèpadà tí Rails gbà jẹ́rìí pé ẹ̀rọ ìwò padà. Ìbéèrè token tó kàn ni ibi láti yẹ ìsopọ̀ proxy, ìpèníjà tàbí ìdáhùn olùpèsè tó wá láti inú ìlànà Rails wò.

Àwọn àpilẹ̀kọ tó jọra