Ο χρήστης πατά «Σύνδεση», φτάνει στη σελίδα του παρόχου και επιστρέφει στο Rails. Το επόμενο βήμα μπορεί να αποτύχει, επειδή ξεκινά νέα σύνδεση από τον διακομιστή Rails.

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

Το πρόγραμμα περιήγησης ακολουθεί την ανακατεύθυνση εξουσιοδότησης με τη δική του ρύθμιση δικτύου. Το Rails εκτελεί την ανταλλαγή token στο κανάλι επιστροφής με τον HTTP client που επιλέγει η εγκατεστημένη στρατηγική OmniAuth. Ένας worker πίσω από εταιρικό διακομιστή μεσολάβησης χρειάζεται αυτή τη διαδρομή στα αιτήματά του προς τον πάροχο.

Το OAuth 1.0 έχει επίσης ένα βήμα token αιτήματος στην πλευρά του διακομιστή πριν ο χρήστης εξουσιοδοτήσει την πρόσβαση. Η ροή κωδικού εξουσιοδότησης του OAuth 2.0 έχει τη δική της ανταλλαγή token μετά την επιστροφή κλήσης. Η ακριβής σειρά εξαρτάται από τη στρατηγική, αλλά το πρόγραμμα περιήγησης και ο διακομιστής εφαρμογής παραμένουν διαφορετικά σημεία εκκίνησης.

Εντοπίστε τη ρύθμιση του client

Ακολουθήστε τη στρατηγική έως τον HTTP client που στέλνει το token και τα αιτήματα προς το API του παρόχου. Χρησιμοποιήστε την τεκμηριωμένη επιλογή διακομιστή μεσολάβησης αυτού του client. Ορισμένες στρατηγικές περνούν τις επιλογές του client σε βιβλιοθήκη OAuth· άλλες ρυθμίζουν μια σύνδεση HTTP από κάτω. Μια επιλογή που δέχεται μία στρατηγική δεν είναι αυτόματα κοινή επιλογή του OmniAuth.

Αφήστε τις διευθύνσεις εξουσιοδότησης, token και επιστροφής κλήσης του παρόχου να περιγράφουν τις πραγματικές υπηρεσίες του. Ο εξερχόμενος διακομιστής μεσολάβησης είναι ρύθμιση μεταφοράς για να φτάσετε στον πάροχο, όχι διεύθυνση επιστροφής κλήσης αντικατάστασης ούτε πεδίο που προστίθεται στις παραμέτρους του αιτήματος OAuth.

Όταν παρακολουθείτε μια σύνδεση, σημειώστε το τελευταίο ολοκληρωμένο βήμα. Η εμφανιζόμενη σελίδα σύνδεσης του παρόχου αποδεικνύει ότι η διαδρομή του προγράμματος περιήγησης λειτούργησε. Η επιστροφή κλήσης που λαμβάνει το Rails αποδεικνύει ότι το πρόγραμμα περιήγησης επέστρεψε. Το επόμενο αίτημα token είναι το σημείο για να ελέγξετε για σύνδεση μέσω διακομιστή μεσολάβησης, πρόκληση ή απάντηση του παρόχου από τη διεργασία Rails.

Σχετικά άρθρα