2011-10-03 18 views
27

मैं अपने पायथन Google App Engine एप्लिकेशन (Google के users api का उपयोग करने के बजाय) के लिए अपना लॉगिन सिस्टम रोल करना चाहता हूं।प्रमाणीकरण और लॉगिन के लिए Webapp2

मैं webapp2 का उपयोग कर रहा हूं, और मैंने देखा कि webapp2_extras.auth मॉड्यूल और incomplete auth tutorial है।

  • उपयोगकर्ता का पंजीकरण (एक ईमेल और पासवर्ड लेते हैं, और शायद यह सत्यापित ईमेल)
  • ईमेल और पासवर्ड
साथ उपयोगकर्ता लॉगइन:

किसी को भी मैं कैसे बनाने के लिए इस API का उपयोग कर सकते हैं पता है

मेरे पास ईमेल और पासवर्ड होने के बाद, मैं इसे कहां स्टोर करूं? ऑथस्टोर में? और मैं ऑथस्टोर के खिलाफ कैसे प्रमाणित करूं?

+0

आप इस ब्लॉग पोस्ट को देख सकते हैं: [Google App Engine पर webapp2 के साथ उपयोगकर्ता प्रमाणीकरण] (http://blog.abahgat.com/2013/01/07/user-authentication-with-webapp2-on-google-app -engine /)। यह वेबपै 2 में पहले से शामिल लीवरेज कार्यक्षमताओं द्वारा अपनी खुद की प्रमाणीकरण परत बनाने के लिए आवश्यक चरणों का वर्णन करता है। यह एरिक के उत्तर में काम करने वाले कोड को प्राप्त करने के लिए आवश्यक प्रक्रिया का एक विस्तार है। (प्रकटीकरण: मैंने शुरुआत में उस पोस्ट को दस्तावेज़ीकरण की कमी को ठीक करने के प्रयास में लिखा था) – abahgat

उत्तर

4

उपयोगकर्ता प्रमाण-पत्र और जानकारी कैसे संग्रहीत करते हैं और कहां पूरी तरह से आपके ऊपर हैं; आपके द्वारा संदर्भित वेबपैप मॉड्यूल केवल एक इंटरफ़ेस प्रदान करता है, यदि आप इसकी सुविधाओं का उपयोग करना चाहते हैं तो आपको अनुरूप होना चाहिए। एक स्पष्ट (शायद एकमात्र समझदार) विकल्प डेटास्टोर होगा।

मैं दृढ़ता से दृढ़ता से दृढ़ता से दृढ़ता से दृढ़ता से अनुशंसा करता हूं कि OpenID support में स्वयं को रोल करने के बजाय निर्मित करें। ऐसा करके, आप उपयोगकर्ताओं को अभी तक एक और उपयोगकर्ता नाम और पासवर्ड बनाने के लिए मजबूर कर रहे हैं, और आप अपने लिए पासवर्ड भंडारण और सुरक्षा परेशानी का एक पूरा सेट ले रहे हैं।

+1

मैं आम तौर पर आपके उत्तर से सहमत हूं। मैं वास्तव में ओपनआईडी, फेसबुक, गूगल लॉगिन आदि के साथ पहले से ही [जेन्रेन के सामाजिक लॉगिन] (http://www.janrain.com/products/engage/social-login) को लागू कर चुका हूं। हालांकि, मुझे चिंता है कि वहां का एक महत्वपूर्ण प्रतिशत हो सकता है वे उपयोगकर्ता जो ओपनआईडी/सोशल लॉगिन से असहज/अपरिचित हैं, और यदि वे किसी अन्य खाते से साइन इन करना चाहते हैं तो वे मेरी साइट का उपयोग नहीं करेंगे। क्या आपको लगता है कि मेरी चिंता वैध है? – zzz

+2

@EricGustavson यह पूरी तरह से आपके उपयोगकर्ता आधार पर निर्भर करता है। ऐसे अन्य उपयोगकर्ता भी हैं जो आपकी साइट के लिए नए खाते बनाने के साथ असहज होंगे। ओपनआईडी और संघीय साइनइन (उदाहरण के लिए, फेसबुक का) अधिक से अधिक आम हो रहा है, हालांकि, इन उपयोगकर्ताओं के लिए अनुकूलन आईई 6 के लिए अनुकूलित करने जैसा थोड़ा सा है। –

+1

@ निक जॉन्सन - क्या एक अच्छा तरीका है कि एपेंडाइन ओपनआईडी समर्थन में निर्मित फेसबुक के साथ अच्छा खेल सकता है? अधिक विशेष रूप से, क्या आप किसी भी अच्छे समाधान के बारे में जानते हैं जो ओपनआईडी आधारित लॉगिन के लिए ओपनआईडी में बनाया गया लाभ उठा सकता है और यदि उपयोगकर्ता फेसबुक लॉगिन का उपयोग करना चाहता है तो फेसबुक के ओएथ 2.0 आधारित तंत्र का उपयोग करें?(इसे ध्यान में रखते हुए, मेरी धारणा यह थी कि ओपनआईडी और ओथ दोनों की आवश्यकता होने पर आपके स्वयं के प्रमाणीकरण तंत्र को रोल करना आवश्यक था)। –

3

पुराने प्रश्न का नया उत्तर: कोई भी व्यक्ति जो Google एप इंजन पर अपना प्रमाणीकरण जोड़ने और वेबपैप में लॉगिन करने की तलाश में है, उसे Google App Engine Boilerplate पर विचार करना चाहिए।

साइनअप, लॉगिन, लॉगआउट, पासवर्ड रीसेट, संघीय लॉगिन (Google, ट्विटर, फेसबुक, आदि), उपयोगकर्ता प्रोफाइल इत्यादि लागू किए गए हैं।

लीवरेज टेक्नोलॉजीज में शामिल हैं, पायथन 2.7, एनडीबी, जिनजा 2, डब्ल्यूटीएफम्स, यूनिटस्ट, वेबटेस्ट, पिक्चर, ओपनआईडी (Google ऐप इंजन), और ओएथ 2 (संघीय लॉगिन प्रदाताओं के लिए जो ओपनआईडी का समर्थन नहीं करते हैं) शामिल हैं।

ऑनलाइन डेमो here है।

+0

आपका ऑनलाइन डेमो लिंक मर चुका है - जो शर्म की बात है! इसे देखना अच्छा होगा। – Fritz

+0

[** ऑनलाइन डेमो लिंक **] (http://appengine.beecoss.com/) फिर से काम कर रहा है। – kjhughes

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