2010-05-02 20 views
7

मैं भी इस सवाल का जवाब के बाद से इस पूछ पहले से ही मेरे नाक के नीचे हो सकता है के लिए अविश्वसनीय रूप से बेवकूफ लग रहा है, लेकिन यहाँ यह जाता है:ट्विटर OAuth प्राधिकरण

TweetMeme एक फिर से ट्वीट चहचहाना है विजेट जो प्रकाशक अपने ब्लॉग पर रख सकते हैं। जब कोई उपयोगकर्ता विजेट पर क्लिक करता है, तो यह एक विंडो खोलता है जो उपयोगकर्ता को ट्विटर के साथ खुद को प्रमाणित करने की अनुमति देता है और फिर पुनः ट्वीट करता है।

ऐसा लगता है कि यह कुछ विशेष ट्विटर ओथ पॉपअप फॉर्म कारक का उपयोग करता है - जब तक उपयोगकर्ता को प्रमाणीकृत करने के लिए सतह के नीचे कुछ फैनसीयर नहीं होता है।

पॉप-अप विंडो इस तरह दिखता है:

http://twitpic.com/1kepcr

मैं नहीं बल्कि एक पॉप-अप के माध्यम से एक प्रमाणीकरण संभाल चाहते हैं के बजाय (एप्लिकेशन मैं के लिए एक नया पृष्ठ पर भेज देते मैं काम कर रहा हूँ) और वे सबसे सुंदर समाधान प्रतीत होता है। विचारों पर उन्होंने यह कैसे किया?

उत्तर

0

वे जो भी कर रहे हैं वह एक नई विंडो (लक्ष्य _blank का उपयोग करके) पृष्ठ http://api.tweetmeme.com/share?url=someURL&source=tweetmeme खोल रहा है, फिर वहां से प्रक्रिया शुरू कर रहा है।

संपादित करें: मैं गलत रीटिट बटन देख रहा था। आपके विशिष्ट उदाहरण के लिए, रीटविट बटन पर क्लिक करने से पहले Tweetmeme पेज http://tweetmeme.com/ajax/partial ... ... एक नई विंडो में खुलता है। हां पर क्लिक करने के बाद आपको (अभी भी उस विंडो में) https://twitter.com/oauth/authenticate (उपयुक्त पैरामीटर के साथ) भेजकर OAuth प्रक्रिया शुरू होती है।

+0

हाँ लेकिन सबसे दिलचस्प बात है, जब उपयोगकर्ता लॉगिन है, और उस चहचहाना पेज से TweetMeme कॉलबैक पर पुनः निर्देशित किया heshould पृष्ठ। मुझे नहीं पता कि कॉलबैक पेज पर भेजे गए पैराम मुख्य पृष्ठ पर कैसे पास किए जाते हैं। –

3

मुझे लगता है कि इस प्रक्रिया (मुझे लगता है कि वे सर्वर साइड पर php का इस्तेमाल किया है) कुछ इस तरह है:

पहले यह एक jQuery की तरह पॉपअप को खोलता है, लेकिन यह सख्ती से कार्यों में चहचहाना पर हस्ताक्षर से संबंधित नहीं है । असली साइन-इन प्रक्रिया तब शुरू होती है जब आप उस पॉपअप की पुष्टि करते हैं, इसलिए यह कुछ पॉपअप के साथ नया पॉपअप खोलता है, जिसमें # सत्र होता है। उन स्क्रिप्ट्स साइट के एप्लिकेशन पैराम का उपयोग करके अनुरोध टोकन को ट्विटर से जोड़ने के लिए कहती हैं, और उन्हें $ _SESSION सरणी में सहेजती हैं। यदि यह ठीक है, तो ट्विटर आपको ट्विटर प्रमाणीकरण पृष्ठ (https://twitter.com/oauth/authenticate) पर भेजता है, और आपके लॉगिन पैराम डालने के बाद, ट्विटर आपको उस साइट द्वारा दिए गए कॉलबैक पेज पर भेज देता है। यहां एक और php पृष्ठ है जो एक्सेस टोकन का अनुरोध करता है, और उन्हें $ _SESSION सरणी में सहेजता है। यदि यह ठीक है तो साइट पर पैराम हैं कि उन्हें आपकी प्रोफ़ाइल पूछताछ करने की आवश्यकता है, इसलिए पॉपअप रीफ्रेश ओपनर विंडो (मुख्य साइट) के अंदर अंतिम स्क्रिप्ट और खुद को बंद करें। अब मुख्य विंडो में $ _SESSION सरणी के अंदर सभी दिलचस्प पैरा हैं।

सभी सर्वर-साइड काम के लिए this उपयोगी लाइब्रेरी की जांच करें।

संबंधित मुद्दे