के साथ उपयोगकर्ता को प्रमाणीकृत करें, मैं लॉगिन के लिए फेसबुक और Google विकल्प दोनों के साथ एक क्लासिक ई-मेल + पासवर्ड लॉगिन के साथ एक ऐप विकसित कर रहा हूं। मैं तीसरे पक्ष के एपीआई के साथ साइन इन करने के बारे में कई चीजों के बारे में सोच रहा हूं:सर्वोत्तम प्रथाओं (एंड्रॉइड के लिए सर्वश्रेष्ठ): फेसबुक या Google लॉगिन
1. क्योंकि एक उपयोगकर्ता अपने फेसबुक खाते से साइन इन कर सकता है और बाद में लॉग इन करने और अपने Google खाते से साइन इन करने का निर्णय लेता है, उपयोगकर्ता को अपने ई-मेल पते से पहचाना जाना चाहिए। इसलिए जब भी वह किसी दूसरे खाते से साइन इन करता है, तो डेटाबेस में ई-मेल पता खोजा जाता है और यदि यह पाया जाता है, तो यह पहले बनाए गए खाते में इस नए साइनइन को जोड़ता है। कृपया इस बिंदु को स्वीकार करें।
2. यदि उपयोगकर्ता फेसबुक लॉगिन के साथ साइन इन करता है, तो आप एक एक्सेस टोकन, उपयोगकर्ता आईडी, उपयोगकर्ता ई-मेल आदि प्राप्त कर सकते हैं। उपयोगकर्ता को प्रमाणित करने का सबसे अच्छा अभ्यास क्या है ताकि यह अभी भी सबसे सुरक्षित तरीका हो? क्या मुझे अपना फेसबुक एक्सेस टोकन और ई-मेल एड्रेस सीधे सर्वर पर भेजना चाहिए? यदि फेसबुक पर एक्सेस टोकन वास्तव में मौजूद है, तो सर्वर को फेसबुक के खिलाफ जांच करनी चाहिए? सर्वर पक्ष पर एप्लिकेशन-निजी एक्सेस टोकन जेनरेट करने का सबसे अच्छा और सबसे सुरक्षित तरीका क्या है? मैंने MD5 हैश के बारे में कुछ सुना है ... क्या मुझे एपीआई कॉल में केवल इस नए जेनरेट किए गए एक्सेस टोकन का उपयोग करना चाहिए और किसी भी फेसबुक प्रमाण-पत्र का उपयोग नहीं करना चाहिए? या क्या मुझे फेसबुक प्रमाण-पत्रों का उपयोग करना चाहिए और इस प्रकार उन्हें सर्वर/क्लाइंट साइड पर सहेजना चाहिए? मैं अपने ऐप के सर्वर पक्ष के लिए जावा ऐप-इंजन का उपयोग करने जा रहा हूं।
3. यदि उपयोगकर्ता फेसबुक पर अपना खाता हटा देता है तो क्या होगा? ऐप इस बारे में कैसे पता चलेगा? यदि यह किसी भी तरह से जानता है, तो खाते के साथ क्या करना चाहिए?
- क्या मुझे नियमित रूप से मान्य होने पर फेसबुक के खिलाफ एक्सेस टोकन की जांच करनी चाहिए? क्यों और कैसे और कितनी बार?
मुझे यकीन नहीं है कि मैं सही जगह पर पूछ रहा हूं या नहीं। अगर मैं गलत हूं, तो कृपया मुझे जिस तरीके से जाना चाहिए, उसे रीडायरेक्ट करें, शायद इन सर्वोत्तम प्रथाओं पर कुछ लिंक? अब तक, मुझे कुछ भी नहीं मिला है जो मेरे सभी सवालों का जवाब देगा। यह कोडिंग और सुरक्षा दोनों संबंधित है, मुझे लगता है। आपकी सभी युक्तियों और युक्तियों के लिए धन्यवाद।
यह पूरी तरह से एक लंबा शॉट है लेकिन कुछ दिन पहले Google ने अपने googlesamples गिटहब परियोजनाओं में पहचान-टूलकिट जोड़ा; https://github.com/googlesamples/identity-toolkit-android। और पहचान-टूलकिट मुख्य वेब पेज आपके द्वारा पूछे जा रहे समान समस्याग्रस्तताओं से कम से कम संबंधित लगता है; https://developers.google.com/identity-toolkit/। यह सब कुछ है जो मुझे कुछ भी नहीं के बगल में पता है लेकिन आपके प्रश्न ने मुझे इस बारे में याद दिलाया। – harism
धन्यवाद! मेरे कुछ सवालों के जवाब देने में मदद कर सकता है। – vandus