2012-04-11 6 views
11

मैं अपने ऐप में फेसबुक/ट्विटर कार्यक्षमता के साथ लॉगिन लागू करने की कोशिश कर रहा हूं, मैंने ओएथ पर कुछ गाइड पढ़े हैं, और मुझे लगता है कि मैं कुछ बुनियादी अवधारणाओं को समझता हूं, और यहां मैं समझ गया हूं (अगर मैं गलत हूं तो कृपया मुझे सही करें):oAuth के साथ साइन इन करें, मुझे उपयोगकर्ता की पहचान करने के लिए क्या स्टोर/उपयोग करना चाहिए?

  1. myApp oAuth प्रदाता को अनुरोध भेजता है, (ए) अनुरोध टोकन प्राप्त करें।
  2. उपयोगकर्ता को (ए) प्रमाणित करने के लिए भेजता है (बी) प्रमाणीकृत अनुरोध टोकन (क्या यह ओथ टोकन कहा जाता है?)
  3. (बी) एक्सेस टोकन प्राप्त करने के लिए (बी) का उपयोग करें।
  4. उपयोगकर्ता जानकारी तक पहुंचने के लिए सी का उपयोग करें।

और यहां मैं अपने सिर के चारों ओर नहीं जा सकता, जिसमें से एक मुझे उपयोगकर्ता की पहचान करने के लिए उपयोग/स्टोर करना चाहिए? मैंने उनमें से प्रत्येक का उपयोग करने की संभावना के बारे में सोचा, लेकिन मैं हमेशा यह जांचने के लिए अटक गया कि उपयोगकर्ता ने पहले साइन इन किया है या नहीं ...

उत्तर

10

यदि आपको केवल प्रमाणीकरण की आवश्यकता है, तो केवल user_id संग्रहित करना पर्याप्त है।

तो जैसे एक और तालिका बनाने:

id | service_name | user_id | my_user_id 

जहां service_name है या तो twitter या facebook, user_id - चहचहाना/फेसबुक और my_user_id से उपयोगकर्ता की आईडी अपनी प्रमाणीकरण प्रणाली में एक user_id है।

तो:

SELECT my_user_id FROM oauths WHERE service_name = 'twitter' AND user_id = 42 

आप अपने सिस्टम user_id या कुछ भी नहीं वापस होगा

पुनश्च: service_name जा सकते थे (और चाहिए) सामान्यीकृत हो, मैं इसे एक स्ट्रिंग के रूप सिर्फ एक उदाहरण सरल करने के लिए रखा

पीपीएस: जैसा कि आपने टिप्पणियों में कहा था, शायद आप "पोस्टिंग/ट्वीटिंग" चाहते हैं।

उस स्थिति में आपको ट्विटर के लिए उपयोगकर्ता का एक्सेस टोकन स्टोर करने की आवश्यकता है, और फेसबुक के लिए कुछ भी अतिरिक्त स्टोर नहीं करना है, लेकिन उपयोगकर्ता को प्रमाणित करते समय publish_stream अनुमति के लिए अनुरोध करें।

+0

मैं पोस्टिंग/ट्वीटिंग पर भी विचार कर रहा था, लेकिन उपयोगकर्ता_आईडी द्वारा, क्या आपका मतलब है कि उपयोगकर्ता_आईडी को संग्रहीत करना है कि हम एक्सेस टोकन तक पहुंच सकते हैं? – hndr

+0

@that_guy: हाँ। Oauth प्रदाता से उपयोगकर्ता_आईडी – zerkms

+0

@that_guy: बीटीडब्ल्यू, – zerkms

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

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