2011-06-04 11 views
14

मैं jQuery Mobile का उपयोग कर मोबाइल वेब एप्लिकेशन के विकास के शुरुआती (प्री-कोडिंग) चरणों में हूं (हमने कुछ सप्ताह के लिए Sencha Touch पर देखा, लेकिन jQuery मोबाइल हमारी टीम की दक्षताओं के लिए बेहतर फिट है)। मैं एक आईफोन, आईपॉड टच, और आईपैड देशी-आईएसएच एप्लिकेशन बनाने के लिए PhoneGap के साथ jQuery मोबाइल वेब एप्लिकेशन को लपेट रहा हूं। मैं अपने वेब अनुप्रयोगों के लिए Django का उपयोग करता हूं, इसलिए मोबाइल एप्लिकेशन और सर्वर के बीच इंटरफेस के लिए जेएसओएन/अजाक्स/आरईएसटी डेटा प्रवाह के कुछ प्रकार के साथ, सर्वर-साइड के लिए ऐसा करने का इरादा रखता है। चूंकि यह एकमात्र मोबाइल एप्लिकेशन है, इसलिए हमारे पास सभी HTML5 प्रकार की सामग्री तक पहुंच होनी चाहिए।jQuery मोबाइल, फोनगैप और डीजेगो के साथ लागू मोबाइल वेब एप्लिकेशन के लिए पहली बार-केवल लॉगिन योजना को कैसे कार्यान्वित करें?

मैं इस कार्यान्वयन के लिए अन्य मुद्दों/सवालों साथ आने के लिए की संभावना है, वहीं यहां मेरे वर्तमान प्रश्न/मुद्दा है:

मैं इतना है कि पहली बार उपयोगकर्ता एप्लिकेशन खुल जाता है आवेदन स्थापित करने के लिए की जरूरत है, उन्हें प्रमाणित करने के लिए उपयोगकर्ता नाम और पासवर्ड दर्ज करना होगा। इसके बाद उपयोगकर्ता को प्रमाणीकरण नहीं करना चाहिए जब तक कि उपयोगकर्ता "सेटिंग" लिंक पर क्लिक न करे जो उन्हें एक अलग खाते या पासवर्ड से प्रमाणीकृत करने के लिए एक पृष्ठ देता है। यह सुनिश्चित करने के लिए कि खाता अक्षम नहीं किया गया है या पासवर्ड बदल गया है या कुछ है, यह सुनिश्चित करने के लिए कि एप्लिकेशन को मूल रूप से दर्ज किया गया था, वर्तमान उपयोगकर्ता नाम और पासवर्ड का उपयोग करते हुए एप्लिकेशन को प्रत्येक बार सर्वर पर प्रमाणीकृत होना चाहिए।

मैं प्रमाणीकरण योजनाओं के लिए काफी नया हूं। मुझे क्या करना चाहिए?

उत्तर

4

मैं एचटीएमएल 5 स्थानीय/वेब स्टोरेज में स्टोर करने के खिलाफ सलाह दूंगा। यदि आप आईओएस फोनगैप को लक्षित कर रहे हैं, तो मैं कीचेन प्लगइन का उपयोग करने की सलाह दूंगा: http://blogs.nitobi.com/shazron/2010/11/06/ios-keychain-plugin-for-phonegap/

+0

उत्तर के लिए धन्यवाद। । । अगर यह काम करता है तो मैं इसे स्वीकार कर लेगा! –

+0

हमने आपकी प्लगइन का उपयोग करके समाप्त किया और अब तक इसका काम किया है। (मुझे विश्वास है कि मेरे सहकर्मी ने आपको एक प्रश्न पूछने के लिए एक संदेश भेजा है, जिसे आपने उत्तरपूर्वक उत्तर दिया)। जबकि हमने स्थानीय स्टोरेज का उपयोग करके यह पता लगाया है कि ऐप्स का पैकेज किस तरह से किया गया है और जिस तरह से हम वितरण को सीमित करना चाहते हैं, वैसे ही चाबी के साथ सही तरीके से करने के लिए गए! –

+0

(ध्यान दें कि यह केवल आईओएस है, और अन्य फोनगैप परिनियोजन के लिए काम नहीं करेगा) –

-1

HTTP Authentication with HTML Forms आज़माएं और देखें कि यह मदद करता है या नहीं।

+0

लिंक के लिए धन्यवाद, हालांकि अकेले इस अंश पर आधारित है: "यह तकनीक आईई 6 और फ़ायरफ़ॉक्स में काम करती है लेकिन ओपेरा और सफारी दोनों में काम नहीं करने के लिए जाना जाता है, इसलिए यदि आप उन ब्राउज़रों की परवाह करते हैं तो आप फिर से उपयोग करने के बारे में सोच सकते हैं यह (या कुछ समय बिताने के लिए जांच कर रहा है कि यह उन ब्राउज़रों में क्यों विफल रहता है)। " मुझे लगता है कि यह ऐसा कुछ नहीं है जिसे मैं अपने मोबाइल-केवल एप्लिकेशन के लिए आगे बढ़ाना चाहता हूं; इसके अतिरिक्त, यह मेरी "पहली बार केवल" लॉगिन आवश्यकता को संबोधित नहीं करता है। । । उम्मीद है कि मुझे एक और अधिक बिंदु जवाब मिल जाएगा! :) –

-1

यह HTML फ़ाइल में एक PHP फ़ाइल शामिल करने के लिए कहता है, लेकिन मुझे यकीन नहीं है कि फ़ोनगैप PHP के साथ काम करता है या नहीं। मैंने अभी इस सप्ताह के अंत में फोनगैप का उपयोग करना शुरू कर दिया है।

+0

क्या आपके पास "यह" का लिंक है (यह बात यह है कि यह बात कह रही है।) मैं वर्तमान में किसी भी php का उपयोग करने की योजना नहीं बना रहा हूं (क्योंकि मैं सर्वर पक्ष पर पायथन/django/wsgi का उपयोग कर रहा हूं) । –

+0

मुझे आपके सर्वर के अंदर PHP फ़ाइल को स्टोर करने के लिए कहा गया था और फिर सूचना लेनदेन करने के लिए AJAX का उपयोग किया गया था। –

4

हालांकि आप सेन्चा टच के साथ नहीं जा रहे हैं, फिर भी HTTP Authentication पर मुद्दों का एक बहुत अच्छा अवलोकन है।

प्रारंभिक लॉगिन के बाद प्रमाणीकरण जानकारी संग्रहीत करने के लिए, आप local storage या कुकी (हालांकि आपको PhoneGap to enable cookie storage का उपयोग करने की आवश्यकता हो सकती है) का प्रयास कर सकते हैं। एचटीएमएलभी प्रदान करता है। अगर प्रमाणीकरण कुकीज़ काम करते हैं तो मेरा मानना ​​है कि यह आपके लिए स्वचालित रूप से संभाला जा सकता है; अन्यथा आप स्थानीय भंडारण (या encrypted storage) से प्रमाणीकरण डेटा का उपयोग कर एक अजाक्स कॉल के भीतर document.ready प्रमाणीकरण जांच लागू कर सकते हैं।

4

कुंजीChain समाधान केवल आईओएस डिवाइस पर काम करेगा, इसलिए यदि यह आपका एकमात्र लक्ष्य है तो आप ठीक हैं।

लेकिन दूसरों के बारे में क्या? फोनगैप का उपयोग करके कचरे की तरह लेकिन फिर केवल एक ढांचे पर तैनाती ...

मुझे पता है कि स्थानीय स्टोरेज सुरक्षित नहीं है, लेकिन यदि आप सीमाओं से अवगत हैं तो थोड़ा सा "स्पष्ट" बनाने के तरीके हैं।

यहां jQuery.handleStorage plugin है जो एईएस एन्क्रिप्शन को भी संभालता है ... आप स्रोत को देख सकते हैं और केवल आवश्यक भागों को लागू कर सकते हैं (यदि आप पूरी प्लगइन का उपयोग नहीं करना चाहते हैं, जो डेस्कटॉप ब्राउज़र का भी समर्थन करता है!)।

पुनश्च: मुझे लगता है कि प्लगइन या लेखक

+0

आप नए, अधिक लचीले संस्करण का भी उपयोग कर सकते हैं जिसे https://github.com/jas-/ बनाने के लिए बाध्यकारी की आवश्यकता नहीं है secStore.js –

1

इस ज्वलंत प्रश्न मैं था जब मैं PhoneGap के साथ मोबाइल विकास शुरू में से एक था के लिए किसी भी तरह से संबद्ध नहीं कर रहा हूँ। मुझे समझाने दो कि मैं क्या करने के लिए करता हूं।

जब उपयोगकर्ता लॉगिन करने का प्रयास करते हैं तो वह उपयोगकर्ता नाम और पासवर्ड में प्रवेश करता है जो सर्वर सेवा के लिए एक वेब सेवा कॉल के माध्यम से भेजा जाएगा। यदि प्रमाणीकरण सफल है तो उपयोगकर्ता को टोकन जारी करें और इसे भविष्य के संचार के लिए सर्वर पक्ष पर सहेजें। उपयोगकर्ता टोकन प्राप्त करेगा और इसे स्थानीय संग्रहण या जो भी तंत्र आप पसंद करते हैं, में सहेजा जाएगा।

भविष्य के संचार के लिए टोकन का उपयोग करें, टोकन सर्वर की ओर से प्रत्येक वेब सेवा कॉल के साथ पारित किया जाएगा जहां सर्वर प्रमाणित करेगा कि टोकन सर्वर द्वारा जारी एक वैध टोकन है या नहीं। आप अपनी आवश्यकता के अनुसार हर 72 घंटे या 48 घंटे तक टोकन को अमान्य कर सकते हैं (या समाप्त नहीं हो रहे हैं)। एक बार टोकन अमान्य हो जाने पर आपको लॉगिन करना होगा और एक नया टोकन प्राप्त करना होगा।

आशा है कि यह आपकी समस्या का समाधान करे।