REST API का उपयोग करके देशी मोबाइल ऐप को प्रमाणित करें


16

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

एप्लिकेशन सूचनात्मक और लेनदेन दोनों है। लेन-देन वाले हिस्से के लिए, लेन-देन करने से पहले उनका खाता होना और लॉग इन होना आवश्यक है। मैं मोबाइल विकास के लिए नया हूं, इसलिए मुझे नहीं पता कि इन प्लेटफार्मों पर प्रमाणीकरण भाग कैसे किया जाता है। क्लाइंट REST API के माध्यम से सर्वर से संवाद करेंगे। HTTPS ofcourse का उपयोग किया जाएगा।

मैंने अभी तक यह तय नहीं किया है कि मैं चाहता हूं कि उपयोगकर्ता जब वे ऐप खोलें, या केवल तभी लॉग इन करें जब वे लेनदेन करते हैं।

मुझे निम्नलिखित प्रश्न मिले:

1) फेसबुक एप्लिकेशन की तरह, आप पहली बार आवेदन खोलने पर केवल अपनी साख दर्ज करते हैं। उसके बाद, आप एप्लिकेशन को खोलते समय हर बार स्वचालित रूप से साइन इन हो जाते हैं। कोई इसे कैसे पूरा करता है? बस डिवाइस पर क्रेडेंशियल्स को एन्क्रिप्ट और स्टोर करके और उन्हें हर बार भेजने से ऐप शुरू होता है?

2) क्या मुझे REST API में किए गए प्रत्येक (लेन-देन) अनुरोध के लिए उपयोगकर्ता को प्रमाणित करने या टोकन आधारित दृष्टिकोण का उपयोग करने की आवश्यकता है?

कृपया प्रमाणीकरण के लिए अन्य तरीकों का सुझाव देने के लिए स्वतंत्र महसूस करें।

धन्यवाद!

जवाबों:


14

आप अपने RESTful API की लॉगिन विधि में उपयोगकर्ता नाम / पासवर्ड पास करते हैं और यह एक्सेस-टोकन लौटाता है। यह एक्सेस टोकन सिर्फ कुछ अनोखा (सिस्टम के लिए) स्ट्रिंग है।

डिवाइस स्टोर (जारी) जो एक्सेस-टोकन है। हर बार जब आप Restful अनुरोध को उस सर्वर पर भेजते हैं जो आप HTTP अनुरोध के हेडर में डालते हैं। सर्वर एक्सेस-टोकन द्वारा उपयोगकर्ता को ढूंढता है और सफलता पर अनुरोध को पूरा करता है।

उपयोगकर्ता नाम / पासवर्ड को डिवाइस पर संग्रहीत नहीं किया जाना चाहिए


क्या तीसरे पक्ष (हैकर्स, आदि) के लिए एक्सेस-टोकन की पकड़ प्राप्त करना संभव है?
सुपरसेल

यह संभव है। खासकर यदि आप HTTPS का उपयोग नहीं कर रहे हैं। अधिकांश ऑनलाइन ईमेल क्लाइंट आपसे समय-समय पर पुनः संपर्क करने के लिए कह रहे हैं। उदाहरण के लिए टोकन की समाप्ति अवधि दो सप्ताह है। इसलिए प्रति दो सप्ताह में एक बार आपको रिलॉजिन की आवश्यकता होगी।
सी-स्माइल

एक्सेस टोकन कैसे जेनरेट होगा, और क्या एक्सेस टोकन सर्वर पर सेव होगा।
घयथ सेरहल

@ सी-मुस्कान फेसबुक ने मुझे कभी लॉगिन करने के लिए नहीं कहा। इसलिए, मैं वास्तव में एक पासवर्ड और एक एक्सेस टोकन के बीच अंतर नहीं देखता हूं।
मिकेल माराचे

मुझे पता है कि यह काफी देर हो चुकी है। लेकिन फेसबुक और अन्य प्रदाता लॉगिन के समय ताज़ा टोकन, एक्सेस टोकन और एक्सपायरी टाइम (टोकन एक्सेस के लिए) जारी करते हैं। एक्सेस टोकन अल्पकालिक है और ताज़ा टोकन का उपयोग करके नए एक्सेस टोकन उत्पन्न किए जा सकते हैं। अगला लॉगिन नया ताज़ा टोकन बना सकता है, जिससे पुराने को अमान्य बना दिया जाएगा
Cerlin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.