"Σύνδεση με το Twitter" που χρησιμοποιούν Zend-πλαίσιο
Παρ 'όλες τις μίσος twitter αυτή τη στιγμή, έχω έθεσε ως στόχο να δημιουργήσει μια νέα twitter -based εφαρμογή. Όντας κάποιος που διαχειρίζεται περισσότερους από έναν λογαριασμούς (τόσο σε προσωπικό όσο και για το φιλανθρωπικό έργο μου) έχω να χρειάζεται ένα εργαλείο για λίγο ότι είμαι απλώς να πάρει γύρω στο γράψιμο (περισσότερα από ότι στο εγγύς μέλλον ...).
Έχω διαβάσει επάνω σε Zend_Oauth_Consumer και πώς μπορεί να χρησιμοποιηθεί για να πάρει άδεια για την αλληλεπίδραση με το Twitter χρησιμοποιώντας OAuth . Όλα ωραία και καλά, έχω κλειδί πρόσβασης μου και δεν μπορώ χαρούμενα μετά μακριά για λογαριασμό του χρήστη. Υπάρχει αφθονία των πόρων εκεί έξω για να γίνει αυτό έτσι δεν θα έφερε τους ανθρώπους.
Το επόμενο βήμα ήταν να επιτρέψει στους ανθρώπους να επιστρέψουν στην ιστοσελίδα, συνδεθείτε και να τροποποιήσετε το λογαριασμό τους. Αυτό είναι όπου έχω φτάσει σε ένα μικρό πρόβλημα. Χρησιμοποιώντας τα παραδείγματα κώδικα στις ιστοσελίδες σήμαινε ότι θα είχα twitter μου ζητώντας έγκριση για την πρόσβαση και πάλι για κάθε σύνδεση, δεν είναι καλό. Σάρωση μέσω του πλαισίου δεν μπορούσα να δω τίποτα που θα μου επιτρέψετε να ζητήσουν μόνο έλεγχο ταυτότητας. Αυτό δεν σημαίνει δεν υπάρχει, αλλά δεν φαινόταν να είναι ένας μηχανισμός ελέγχου ταυτότητας που θα μπορούσε να γίνει επίκληση του χωρίς να γνωρίζει το διακριτικό πρόσβασης που έχουν ήδη.
Οι εναλλακτικές λύσεις ήταν να εφαρμόσει μια τοποθεσία που βασίζεται συνδεθείτε ή κατάστημα με κάποιο τρόπο διακριτικό πρόσβασης του χρήστη στο πρόγραμμα-πελάτη (κρυπτογραφημένη, βεβαίως). Καμία από αυτές φαινόταν σαν μια καλή / κατάλληλη λύση.
Έχοντας μια ματιά στα αιτήματα που διατυπώθηκαν από τον κωδικό μου ήξερα ότι το μόνο που χρειαζόταν ήταν να αλλάξει η διεύθυνση URL στην οποία ανακατευθύνσεις Zend_Oauth_Consumer. Φάνηκε ο ευκολότερος τρόπος για να γίνει αυτό ήταν να παρακάμψετε την authorizationUrl παράμετρο με το URL ελέγχου ταυτότητας από το Twitter. Αυτό έγινε ως εξής:
$ Config = array ('callbackUrl' => ... επανάκλησης-url ..., «SITEURL '=>' https://twitter.com/oauth ',' consumerKey '=> ... καταναλωτή-κλειδί .. ., «consumerSecret '=> ... μυστικό-κλειδί ...,)? $ καταναλωτή = νέα Zend_Oauth_Consumer ($ config)? $ token = $ καταναλωτή-> getRequestToken ()? / / επιμένουν το διακριτικό στην αποθήκευση $ _SESSION [ «TWITTER_REQUEST_TOKEN '] = serialize ($ token)? $ καταναλωτή-> setAuthorizeUrl (« https://twitter.com/oauth/authenticate')? $ καταναλωτή-> redirect ()? Κατά την επιστροφή τους από την εφαρμογή twitter έχουμε διαδικασία της απάντησης υπό έτσι:
$ Token = $ καταναλωτή-> getAccessToken ( $ _GET, unserialize ($ _SESSION ['TWITTER_REQUEST_TOKEN']) )? echo $ token-> user_id. '::'. $ Token-> screen_name?
Πώς να επικυρώσετε / κατάστημα της ταυτότητας είναι μέχρι σας, αλλά αυτό θα πρέπει να εφαρμόζουν με επιτυχία ένα «Σύνδεση με το Twitter» του συστήματος.
Αν κάποιος ξέρει από ένα πιο σωστό / πιο κομψή λύση σε αυτό θα ήθελα να είναι πάρα πολύ ενδιαφέρονται για ακρόαση. Φαίνεται να υπάρχει έλλειψη πληροφόρησης σχετικά με την «είσοδο με το twitter» χρησιμοποιώντας PHP / Zend-πλαίσιο για το διαδίκτυο


















































[...] Το κάνουν αυτό με την υπηρεσία Twitter και μπορείτε να δείτε ένα γρήγορο κομμάτι σε αυτό εδώ - Σύνδεση με το Twitter χρησιμοποιώντας Zend-πλαίσιο. Είμαι χρησιμοποιώντας την εφαρμογή μου, όπου μπορώ να ρυθμίσω το «Εξουσιοδότηση URL", όπως εγώ δεν [...]