2011-06-04 19 views
6

मैं इस twitter api library का उपयोग कर रहा हूं और अब तक सबकुछ बढ़िया है। मेरी समस्या (वास्तव में एक उपयोगकर्ता अनुभव वास्तव में एक समस्या नहीं है) यह है कि हर बार जब आप ट्विटर के साथ साइन इन करना चाहते हैं तो आपको पॉपअप खोलने की जरूरत है।मेरे आवेदन के ट्विटर एपीआई प्राधिकरण

अभी प्रवाह यह है:

  • उपयोगकर्ता अपने पन्ने पर चहचहाना लोगो के साथ साइन इन पर क्लिक करता है।
  • जावास्क्रिप्ट प्रेरित पॉपअप ट्विटर ओउथ सामान के साथ आता है। यदि आप सभी में लॉग इन हैं तो यह लॉगिन और रद्द है। यदि आपके पास लॉगिन फ़ील्ड नहीं हैं।
  • यदि सब कुछ अच्छा है तो यह एक कॉलबैक यूआरएल पर जाता है जो मैं आपूर्ति करता हूं। सामान का एक समूह और फिर ..
  • मैं window.opener को कॉल करता हूं और प्रमाणीकृत जानकारी पास करता हूं और वहां से मैं विंडो बंद करता हूं।

यह आश्चर्यजनक रूप से कार्यान्वित करने और महान काम करने में आसान था। मैं सोच रहा हूं कि क्या twiiter लॉगिन प्रक्रिया फेसबुक की तरह थोड़ी अधिक हो सकती है जो यह होगी।

  • उपयोगकर्ता मेरे पृष्ठ पर ट्विटर लोगो के साथ साइन इन पर क्लिक करता है।
  • यदि उपयोगकर्ता लॉग इन है और ऐप को ऑटोराइज किया है तो पॉपअप विंडो पॉपअप तुरंत चली जाएगी और उपयोगकर्ता डेटा को मेरे पृष्ठ पर वापस चक जाएगी।

मुझे लगता है कि मैं चहचहाना के लिए एक php पुस्तकालय का उपयोग कर रहा है और फेसबुक प्रवाह जावास्क्रिप्ट तरफ से है लेकिन अगर मैं पता लगा सकते हैं मैं सोच रहा हूँ, php के साथ, उपयोगकर्ता पहले से ही एप्लिकेशन अनुमति दी गई है और हस्ताक्षरित किया गया है या नहीं में, उनके लिए अतिरिक्त साइनइन/रद्द करें क्लिक को बाईपास करें।

उत्तर

3

"Sign in with Twitter" प्रवाह का उपयोग करने का प्रयास करें। यदि उपयोगकर्ता पहले ही प्रमाणीकृत है, तो यह एक क्लिक ऑपरेशन है। लिंक किए गए दस्तावेज़ के ऊपर एक प्रवाह संचित्र और प्रक्रिया का विवरण नहीं है, लेकिन मैं यहाँ चरणों सूचीबद्ध करेंगे (साथ जोर जोड़ा) के साथ-साथ, और प्रासंगिक API पृष्ठ में लिंक:

"ट्विटर के साथ साइन इन "प्रमाणीकरण के पैटर्न है जो उपयोगकर्ताओं को तृतीय-पक्ष सेवाओं के साथ अपने ट्विटर खाते को पर क्लिक करने की अनुमति देता है। यह OAuth और का उपयोग करता है हालांकि प्रवाह बहुत समान है, प्राधिकरण URL और वर्कफ़्लो को नीचे वर्णित अनुसार थोड़ा अलग करता है।

सामान्य प्रवाह तय है कि आवेदन पत्र OAuth विशिष्टता के ट्विटर के क्रियान्वयन में oauth/authorize को भेजने अनुरोध टोकन।की "ट्विटर के साथ साइन इन" लाभ लेने के लिए, अनुप्रयोगों अनुरोध oauth/authenticate बजाय करने के लिए oauth_token पैरामीटर में प्राप्त टोकन भेजना चाहिए।

OAuth/ विधि उपयोगकर्ता की स्थिति और बुला आवेदन के साथ अपने पिछले बातचीत पर निर्भर करता है अलग अलग तरीकों से कार्य करेगा प्रमाणित:

  1. उपयोगकर्ता में लॉग होता है तो twitter.com और पहले से ही कॉलिंग एप्लिकेशन को मंजूरी दे दी है, उपयोगकर्ता को तत्काल प्रमाणीकृत किया जाएगा और कॉलबैक यूआरएल पर वापस कर दिया जाएगा।

  2. तो उपयोगकर्ता में twitter.com और पहले से ही को मंजूरी दी है बुला आवेदन, उपयोगकर्ता तो twitter.com के लिए लॉग इन करने के लिए किया जाएगा प्रेरित किया जाएगा प्रवेश न होने पर तुरंत प्रमाणीकृत और कॉलबैक में लौटे यूआरएल।

  3. उपयोगकर्ता twitter.com में लॉग इन किया है और पहले से ही बुला आवेदन स्वीकृत नहीं है, तो , OAuth प्राधिकरण शीघ्र प्रस्तुत किया जाएगा। उपयोगकर्ताओं को अधिकृत करने के बाद कॉलबैक यूआरएल पर रीडायरेक्ट किया जाएगा।

  4. तो उपयोगकर्ता में लॉग इन नहीं कर रहा है twitter.com और नहीं पहले से ही बुला आवेदन, उपयोगकर्ता से पहले प्राधिकरण शीघ्र प्रस्तुत किया जाएगा तो twitter.com के लिए लॉग इन करने के लिए प्रेरित किया जाएगा मंजूरी दे दी है कॉलबैक यूआरएल पर वापस रीडायरेक्ट कर रहा है।

उम्मीद है कि इस बिल फिट बैठता है और आप के लिए काम करेंगे।

+0

हाँ मुझे इस माध्यम से पढ़ना याद है, लेकिन उस समय मैं बॉक्स समाधान से बाहर निकलने पर अधिक ध्यान केंद्रित कर रहा था। मैं वापस जाऊंगा और इसे फिर से देखूंगा क्योंकि ऐसा लगता है कि मैं क्या देख रहा हूं। मैं आपको बता दूंगा कि यह कैसे जाता है और संभवतः समाधान पोस्ट करता है। धन्यवाद – locrizak

0

मुझे फेसबुक एपीआई के साथ एक ही समस्या थी, लेकिन यह एपीआई द्वारा उत्पन्न कुकीज़ की जांच करके काम कर रही थी ताकि यह देखने के लिए कि वहां कोई प्रविष्टियां हैं जो उपयोगकर्ता लॉग इन होने पर संकेत दे सकती हैं। मुझे यकीन नहीं है ट्विटर लेकिन फेसबुक के मामले में, केवल कुकी की उपस्थिति का मतलब है कि उपयोगकर्ता वर्तमान एप्लिकेशन पर पहले ही लॉग इन है। चूंकि वे दोनों औथ का उपयोग करते हैं, इसलिए वे एक ही प्रक्रिया का उपयोग कर सकते हैं। लेकिन निश्चित रूप से मैं बस अनुमान लगा रहा हूँ। पुष्टि करने के लिए बेहतर तरीके से एक नज़र डालें।

महान सवाल, वैसे भी। +1

+0

हाँ मैंने सुना है। लेकिन फेसबुक की तरह, ट्विटर दस्तावेज़ कुछ और बहुत दूर हैं। मैंने कुछ पुस्तकालयों की कोशिश की है और एक मैं सबसे अच्छा उपयोग कर रहा हूं (जो मैंने पाया) और कुछ हद तक दस्तावेज़ हैं। यह सिर्फ मुझे यह बता रहा है कि बॉक्स के बाहर स्क्रिप्ट उपयोगकर्ता को एक या दो अतिरिक्त क्लिक करता है। मैं दुनिया में सबसे कम सोशल मीडिया कंपनियों, या उस मामले के लिए किसी भी उत्पाद कंपनी से प्यार करता हूं, जो कि कम से कम सभ्य पर डॉक्स जारी करने के लिए है। – locrizak

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