2015-01-17 5 views
7

मेरे पास एक आईओएस ऐप है जो डेटाबेस से डेटा लाने, अद्यतन करने, अपडेट करने, डीजेगो रीस्ट फ्रेमवर्क द्वारा संचालित एपीआई का उपयोग करता है। मैं दो और निम्नलिखित कार्यक्षमताओं जो सर्वर पर उपयोगकर्ता डेटा संग्रहीत करता है प्रदान करने की आवश्यकता:Django Rest Framework और IOS ऐप का उपयोग करते समय किस प्रमाणीकरण का उपयोग किया जाना चाहिए?

  1. Facebook के साथ ईमेल
  2. लॉग इन के साथ लॉग इन

दो विभिन्न प्रमाणीकरण प्रणाली प्रतीत होता है कि मैं यह कर सकते हैं उपयोग:

  1. Django User Authentication System
  2. Django Rest Framework Authentication

मुझे इसे अपने एपीआई में कैसे संभालना चाहिए?

+0

Django Rest Framework प्रमाणीकरण – Anentropic

+0

का उपयोग करें धन्यवाद! डीजेएफ प्रमाणीकरण तब Django उपयोगकर्ता प्रमाणीकरण बहुत आसान है। सीखना आसान :) –

उत्तर

13

जब आप आईओएस के साथ डीजेगो रीस्ट फ्रेमवर्क का उपयोग कर रहे हैं, जब तक कि आप ब्राउज़र का उपयोग नहीं कर लेते हैं, मानक डीजेगो प्रमाणीकरण प्रणाली प्रश्न से बाहर है। यह DRF authentication system as SessionAuthentication के माध्यम से खुलासा किया गया है और यह आपके आवेदन पर कुकीज़ और सीएसआरएफ टोकन को अनुरोध के साथ स्थानांतरित करने में सक्षम होने पर निर्भर करता है, जो आम तौर पर संभव नहीं है।

ज्यादातर स्थितियों में जहां Django प्रमाणीकरण प्रणाली पहले से ही उपयोग कर रहे हैं, और आप अपने एप्लिकेशन के संचय पासवर्ड भरोसा कर सकते हैं, तो आप use something like BasicAuthentiction होगा। अधिकांश लोग हालांकि नहीं कर सकते हैं, या वे अपने अनुप्रयोग पारिस्थितिक तंत्र पर भरोसा नहीं करते हैं, इसलिए वे टोकन-आधारित प्रमाणीकरण प्रणाली like TokenAuthentication या OAuth2Authorization (with an OAuth provider संयोजन में) का उपयोग करते हैं। आप प्रत्येक प्रमाणीकरण प्रकार in this answer on Stack Overflow के बारे में अधिक पढ़ सकते हैं।

लेकिन अपनी स्थिति में, आप मूल रूप से सिर्फ कुछ OAuth 2 की तरह उपयोग करने के लिए प्रतिबंधित कर रहे हैं। ऐसा इसलिए है क्योंकि आपको किसी उपयोगकर्ता को टोकन से जोड़ने की आवश्यकता है, और अधिकांश प्रमाणीकरण प्रणालियों के लिए आपको उपयोगकर्ता नाम और पासवर्ड प्रदान करने की आवश्यकता होती है। सामाजिक खातों के लिए, यह आम तौर पर मामला नहीं है, और वे आमतौर पर लॉग इन करने में सक्षम नहीं होंगे। OAuth 2 मानक Django लॉगिन के साथ संयोजन में काम करता है, इसलिए आप केवल उपयोगकर्ता नाम और पासवर्ड तक ही सीमित नहीं हैं। मैंने this detailed Stack Overflow answer में यह कैसे काम किया है इसके बारे में और अधिक लिखा है।

+0

Thanx! यह मदद करता है :) –

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