Menjejaki log masuk OmniAuth melalui proksi
Ikuti lencongan pelayar dan pertukaran token di bahagian Rails untuk mengkonfigurasi proksi pada permintaan yang memerlukannya.
Pengguna mengklik “Log masuk”, sampai ke halaman pembekal dan kembali ke Rails. Langkah seterusnya masih boleh gagal kerana ia memulakan sambungan baharu daripada pelayan Rails.
browser → provider authorization page → browser callback to Rails
Rails → provider token endpoint → Rails
Pelayar mengikuti lencongan kebenaran dengan konfigurasi rangkaiannya sendiri. Rails melakukan pertukaran token saluran belakang dengan klien HTTP yang dipilih oleh strategi OmniAuth yang dipasang. Pekerja yang berjalan di belakang proksi korporat memerlukan laluan itu pada permintaannya kepada pembekal.
OAuth 1.0 juga mempunyai langkah token permintaan di sebelah pelayan sebelum pengguna membenarkan akses. Aliran kod kebenaran OAuth 2.0 mempunyai pertukaran tokennya sendiri selepas panggilan balik. Urutan tepat bergantung pada strategi, tetapi pelayar dan pelayan aplikasi kekal sebagai titik permulaan yang berbeza.
Cari konfigurasi klien
Ikuti strategi hingga ke klien HTTP yang menghantar tokennya dan permintaan API pembekal. Gunakan pilihan proksi yang didokumenkan bagi klien itu. Sesetengah strategi menyerahkan pilihan klien kepada pustaka OAuth; yang lain mengkonfigurasi sambungan HTTP di bawahnya. Pilihan yang diterima oleh satu strategi bukan secara automatik pilihan OmniAuth yang dikongsi.
Biarkan URL kebenaran, token dan panggilan balik pembekal menerangkan perkhidmatan sebenar mereka. Proksi keluar ialah tetapan pengangkutan untuk mencapai pembekal, bukan alamat panggilan balik pengganti dan bukan medan yang ditambah pada parameter permintaan OAuth.
Semasa menjejaki log masuk, tandakan langkah terakhir yang selesai. Halaman log masuk pembekal yang dipaparkan membuktikan laluan pelayar berfungsi. Panggilan balik yang diterima Rails membuktikan pelayar telah kembali. Permintaan token seterusnya ialah tempat untuk memeriksa sambungan proksi, cabaran atau respons pembekal daripada proses Rails.