मुझे नहीं पता कि क्लाइंट स्टेट डेटा (keychain in iOSAndroid में भी) को स्टोर या उपयोग करने के लिए, लेकिन वेब ऐप परिप्रेक्ष्य के लिए, आपको कुछ भी करने की ज़रूरत नहीं है। आपको कुछ भी करने की ज़रूरत नहीं है क्योंकि अगर आप सुरक्षित नहीं हो सकते हैं। लॉगिन के बाद, सर्वर HTTP only cookie सेट करेगा जो कुछ दिनों या सप्ताह के लिए रहता है। इन समय के दौरान, सर्वर पर with credentials का अनुरोध हमेशा ब्राउज़र द्वारा प्रमाणित किया जाता है। आप लॉगिन ईमेल या सर्वर से जो भी अनुरोध कर सकते हैं। अतिरिक्त सुरक्षा उद्देश्य सर्वर के लिए XSRF token का अनुरोध कर सकते हैं। उस मामले में इसे स्थानीय स्टोरेज में सहेजें। इस टोकन को खोना मतलब ज्यादा नहीं है।
यह सबसे सुरक्षित तरीका है और इसका उपयोग वेब क्लाइंट के माध्यम से इंटरनेट बैंकिंग सहित मोबाइल क्लाइंट द्वारा भी किया जाता है। प्रमाणीकरण के लिए ब्राउज़र का उपयोग करना सबसे सुरक्षित और आसान है क्योंकि क्रेडेंशियल्स स्टोरेज जैसे कई कमजोर बिंदु हैं, सही एसएसएल प्रमाण पत्र, एन्क्रिप्शन आदि की जांच करना। वेबव्यू के साथ, सब कुछ ब्राउज़र द्वारा ख्याल रखा जाता है।
यदि आप रुचि रखते हैं कि ये सर्वर कोड कैसे हैं, तो मुझे Appengine cross domain authentication server code के साथ स्पष्टीकरण था।
स्रोत
2012-11-18 14:49:15
दिलचस्प सवाल, इसका मतलब है कि आपको स्थानीय रूप से उपयोगकर्ता प्रमाण-पत्रों को स्टोर करना होगा जो बहुत सुरक्षित नहीं है। आश्चर्य है कि इसे प्राप्त करने का कोई सुरक्षित तरीका या सर्वोत्तम प्रथा है या नहीं। –
बस कुछ सोचने के लिए - यदि प्रमाण-पत्र की जांच करना है, तो क्लाइंट पर जावास्क्रिप्ट में परिभाषा के अनुसार, किसी के लिए आवेदन में fiddling जेएस गुणों द्वारा प्रमाणीकरण अनुकरण/बाईपास करना मुश्किल होगा। फिर मान लीजिए, उदाहरण के लिए, क्लाइंट-साइड डेटा सर्वर पर सिंक हो गया था जब आप ऑनलाइन वापस आते हैं, इससे समस्याएं पैदा हो सकती हैं। – user888734