İstifadəçi “Daxil ol” düyməsini basır, provayderin səhifəsinə çatır və Rails-ə qayıdır. Növbəti addım yenə də uğursuz ola bilər, çünki o, Rails serverindən yeni bağlantı açır.

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

Brauzer avtorizasiya yönləndirməsini öz şəbəkə konfiqurasiyası ilə izləyir. Rails isə arxa kanal token mübadiləsini quraşdırılmış OmniAuth strategiyasının seçdiyi HTTP müştərisi ilə həyata keçirir. Korporativ proksinin arxasında işləyən worker provayderə göndərdiyi sorğularda bu marşruta ehtiyac duyur.

OAuth 1.0-da istifadəçi icazə verməzdən əvvəl server tərəfində sorğu tokeni addımı da var. OAuth 2.0-in avtorizasiya kodu axınının callback-dən sonra öz token mübadiləsi var. Dəqiq ardıcıllıq strategiyadan asılıdır, lakin brauzer və tətbiq serveri fərqli başlanğıc nöqtələri olaraq qalır.

Müştərinin konfiqurasiyasını tapın

Strategiyanı tokenini və provayder API sorğularını göndərən HTTP müştərisinə qədər izləyin. Həmin müştərinin sənədləşdirilmiş proksi seçimindən istifadə edin. Bəzi strategiyalar müştəri seçimlərini OAuth kitabxanasına ötürür; digərləri onun altında HTTP bağlantısı qurur. Bir strategiyanın qəbul etdiyi seçim avtomatik olaraq ümumi OmniAuth seçimi deyil.

Provayderin avtorizasiya, token və callback URL-ləri öz real xidmətlərini təsvir etməyə davam etsin. Çıxan proksi provayderə çatmaq üçün istifadə olunan nəqliyyat parametridir; callback ünvanının əvəzi və ya OAuth sorğu parametrlərinə əlavə ediləcək sahə deyil.

Girişi izləyərkən son tamamlanmış addımı qeyd edin. Göstərilən provayder giriş səhifəsi brauzerin marşrutunun işlədiyini təsdiqləyir. Rails-in aldığı callback brauzerin qayıtdığını təsdiqləyir. Sonrakı token sorğusu isə Rails prosesindən gələn proksi bağlantısı, çağırış və ya provayder cavabının yoxlanılacağı yerdir.

Əlaqəli məqalələr