मेरे पास एक मौजूदा, काम कर रहे Django एप्लिकेशन है जो कई Django-REST-Framework API लागू करता है। मैंने अभी उपयोगकर्ता प्रमाणीकरण जोड़ा है Django-आराम-ढांचा-जेडब्ल्यूटी और अब मैं इसे सीखने की कोशिश कर रहा हूं। मैंने सत्यापित किया है कि अगर मैं निम्नलिखित कर्ल करता हूं तो यह मुझे टोकन जारी करता है:
curl -X POST -d "username=myuser&password=mypassword" http://localhost:3050/api-token-auth/
लेकिन मेरे पास कई प्रश्न हैं जो मुझे दस्तावेजों में संबोधित नहीं दिख रहा है। कृपया निम्नलिखित प्रश्नों का उत्तर दें:
- कर्ल का उपयोग करके टोकन को मैं कैसे अमान्य कर सकता हूं? जब उपयोगकर्ता लॉग आउट करता है तो मुझे ऐसा करने की ज़रूरत है।
- डीबी में इन टोकन कहाँ संग्रहित हैं? कार्यान्वयन के बाद
django-rest-framework-jwt
, मैं अपने Django व्यवस्थापक इंटरफ़ेस में कोई नई टेबल नहीं देखता हूं - मैं अपने उपयोगकर्ताओं को अपने उपयोगकर्ता नाम से लॉगिन करने की अनुमति देना चाहता हूं या उनके ईमेल तो मैं लपेटना चाहता हूँ
api-token-auth
एक कस्टम एंडपॉइंट में एंडपॉइंट जो जांचता है कि क्या हैदी गई स्ट्रिंग एक ईमेल या उपयोगकर्ता नाम है। अगर ईमेल, मैं उपयोगकर्ता नाम देख लूंगा। फिर एपीआई-टोकन-ऑथ को कॉल करें। उस एंडपॉइंट को कैसे दिखाना चाहिए? मैं नहीं जानता कि इसे कैसे लपेटेंapi-token-auth method
.
उत्तर:
जवाब के लिए 8 № 1- प्रमाणीकरण के लिए जेडब्ल्यूटी का उपयोग करते समय आप आमतौर पर ब्राउजर के स्थानीय स्टोरेज या सत्र स्टोरेज में टोकन स्टोर करते हैं। लॉगआउट करने के लिए आप टोकन को हटा दें। अमान्य करने के लिए और कुछ नहीं है।
- प्रमाणीकरण के लिए इस तरह के दृष्टिकोण का उपयोग करने के लाभों में से एक यह है कि डेटाबेस में टोकन जारी नहीं हैं, इसलिए आपको प्रमाणीकरण के दौरान किसी भी चीज़ के लिए सत्र स्टोर से पूछना नहीं है।
- यह एक कस्टम Django प्रमाणीकरण बैकएंड के साथ भी संभव होना चाहिए।