मैं जेएसओएन वेब टोकन के साथ टोकन-आधारित प्रमाणीकरण के बारे में सीख रहा हूं और यहां मैं मोबाइल ऐप के लिए इसे कैसे देखता हूं, उदाहरण के साथ स्विफ्ट:मोबाइल ऐप से टोकन-आधारित प्रमाणीकरण
मैं उपयोगकर्ता इनपुट का उपयोग करके ऐप के अंदर एक वस्तु बना सकते हैं,
तरह{ उपयोगकर्ता नाम: "patrickbateman", पासवर्ड: "ismyknifesharp", भूमिका: "नियमित", । .. }
तब मैं library के साथ एक जेडब्ल्यूटी टोकन उत्पन्न कर सकता हूं।
- फिर मैं इसे एक समर्थित API एंडपॉइंट पर भेजता हूं, जैसे
/api/contacts/list
। या क्या मुझे लॉगिन/पासवर्ड भेजना है क्योंकि वे प्रमाणीकृत हैं? - सर्वर किसी भी तरह टोकन शुद्धता की जांच करता है। पर कैसे? क्या यह सर्वर-जेनरेट किया गया टोकन डेटाबेस में सहेजा जाना चाहिए और कुंजी के रूप में उपयोग किया जाना चाहिए? या क्या मुझे क्लाइंट से अनुरोध प्राप्त होने पर क्लाइंट टोकन में तुलना करने पर सर्वर पर टोकन जेनरेट करना होगा?
- मुझे आवश्यक सभी डेटा प्राप्त करें और प्रबंधित करें।
- मैं उपयोगकर्ता को प्रमाणित करने सर्वर से प्रवेश/पासवर्ड युग्म भेजने की जरूरत नहीं है:
यहाँ मेरी निष्कर्ष हैं।
- मुझे प्रत्येक बार टोकन भेजने की आवश्यकता होती है जब मुझे केवल-केवल डेटा प्राप्त करने की आवश्यकता होती है।
- मुझे कुछ एल्गोरिदम लागू करना चाहिए जो उत्पन्न होने वाले टोकन को कुछ कारकों के कारण बदलता है, जैसे कि समय बीतने, ताकि टोकन को टिकाऊ बनाया जा सके।
- मुझे हेडर के अंदर टोकन भेजना चाहिए, लेकिन जरूरी नहीं, क्योंकि यह JSON अनुरोधों के शरीर के अंदर किया जा सकता है।
क्या ये निष्कर्ष सही हैं? क्लाइंट भेजता है टोकन जांचने का तरीका क्या है?
ग्राहक पक्ष पर पासवर्ड और उपयोगकर्ता नाम रखने का अच्छा विचार क्यों नहीं है? आईओएस में हम उन्हें कीचेन में सुरक्षित रूप से सही स्टोर कर सकते हैं? – user805981
यहां तक कि जब हम उन्हें सुरक्षित तरीके से स्टोर कर सकते हैं, लेकिन इसके लिए कोई लाभ नहीं है। हमें पुनः लॉगिन करने के लिए संग्रहीत पासवर्ड का उपयोग नहीं करना चाहिए। अच्छा तरीका टोकन के साथ काम कर रहा है या उपयोगकर्ता को लॉग इन फॉर्म के माध्यम से फिर से पासवर्ड प्रदान करने की आवश्यकता है। – t4nhpt
मैं देखता हूं। और अगर हम jwt का उपयोग करना चाहते थे और टोकन रीफ्रेश करना चाहते थे। क्या हमें यह निर्धारित करना चाहिए कि किसी भी http अनुरोध भेजने से पहले ग्राहक पक्ष में jwt की समयसीमा समाप्त हो गई है या नहीं? या क्या हमें ज्वेट की अवधि समाप्त होने से पहले jwt की अवधि समाप्त होनी चाहिए और क्लाइंट पक्ष में 400 वापस देना चाहिए? – user805981