2012-02-10 15 views
5

मेरे पास एक वेबपैप है जो php सर्वर और डेटाबेस सर्वर के साथ बहुत सारे AJAX अनुरोध करता है। मैंने एक आईफोन ऐप और एक एंड्रॉइड ऐप भी बनाया है, जो अब तक ऑफलाइन ऐप के रूप में काम कर रहा है।ओएथ: ओएथ कार्यान्वयन का उपयोग केस

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

क्या कोई इस पर कुछ प्रकाश डाल सकता है?

उत्तर

4

OAuth का मुख्य उपयोग तीसरे पक्ष के ऐप्स को उपयोगकर्ता के निजी संसाधनों तक पहुंचने के लिए अधिकृत किया जाता है, बिना किसी तृतीय पक्ष ऐप को उपयोगकर्ता प्रमाण-पत्र दिए। उदाहरण के लिए, मान लें कि ट्विटर आपके याहू खाते से संपर्कों की सूची प्राप्त करना चाहता है। पारंपरिक तरीका है अपना उपयोगकर्ता नाम और पासवर्ड ट्विटर पर देना। लेकिन OAuth साथ, आप उन्हें एक अस्थायी टोकन (Access Token कहा जाता है) जो अपने संपर्कों याहू पर निजी संसाधन के मालिक के रूप में, (समय की एक सीमित मात्रा में करने के लिए उपयोग करने के लिए जब तक या तो इस टोकन आप समाप्त हो रहा है या ट्विटर अधिकृत करता है देने के लिए, स्पष्ट रूप से इसे रद्द करें)।

ने कहा, OAuth सुरक्षित रूप से वेब पर डेटा संचारित करने के बारे में नहीं है। यह एक और कहानी है जिसे आमतौर पर SSL का उपयोग करके हासिल किया जाता है। यहां तक ​​कि जब आप OAuth का उपयोग करते हैं, तब भी आपको यह सुनिश्चित करने के लिए SSL का उपयोग करना होगा ताकि डेटा भेजा जा सके और सुरक्षित रूप से प्राप्त हो सके।

तो आपके मामले में, आपको देखना होगा कि एपीआई के लिए क्या उपयोग किया जाता है। यदि यह सार्वजनिक एपीआई है जो कॉलर्स को कोई निजी डेटा नहीं देती है, तो OAuth का उपयोग करने की आवश्यकता नहीं है। यदि एपीआई अलग-अलग उपयोगकर्ताओं के निजी संसाधनों तक पहुंचने के लिए है, तो आप OAuth का उपयोग करने पर विचार कर सकते हैं। यदि आप OAuth को लागू करने का विकल्प चुनते हैं, तो आप बिना किसी चिंता के भविष्य में अन्य तृतीय-पक्ष ऐप्स को अपने एपीआई तक पहुंचने की अनुमति दे सकते हैं।

0

अच्छी तरह से इस बात पर निर्भर करता है कि आप अपने एपीआई को कैसे सुरक्षित कर रहे हैं। क्या आपका एपीआई सार्वजनिक रूप से पोस्ट यूआरएल के लिए खुला है? यदि आपका डेटा ऐसा कुछ नहीं है जिसे प्रत्येक उपयोगकर्ता को देखना चाहिए, तो आप उपयोगकर्ता प्रमाण-पत्रों के प्रमाणीकरण की जांच कैसे कर रहे हैं?

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

ऐसी स्थिति में, OAuth सर्वर बचाव के लिए आता है। असल में, एक यूआरएल पर उपयोगकर्ता अपना एक्सेस टोकन प्राप्त करने के लिए अपना उपयोगकर्ता नाम और पासवर्ड भेज देगा। एक बार यह अधिग्रहण हो जाने के बाद, हम प्रत्येक अनुरोध को सत्यापित करने और आवश्यक कार्रवाई करने के लिए एक्सेस टोकन का उपयोग कर सकते हैं।

आप उन वीडियो को देख सकते हैं जहां मैंने बैरवेल 5 में ओएथ सर्वर को लागू किया है, जो कि उपयोगकर्ता को किसी भी PHP फ्रेमवर्क के लिए सबसे अच्छा ओएथ लाइब्रेरी है। https://www.youtube.com/watch?v=0vGXbWdtjls

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