जब एक एपीआई के लिए यह आवश्यक होता है कि एक ग्राहक इसे प्रमाणित करता है, तो मैंने दो अलग-अलग परिदृश्यों का उपयोग किया है और मैं सोच रहा हूं कि मुझे अपनी स्थिति के लिए किस मामले का उपयोग करना चाहिए।
उदाहरण 1. किसी कंपनी द्वारा HTTP बेसिक का उपयोग करके एक टोकन और गुप्त के साथ प्रमाणित करने की अनुमति देने के लिए एक एपीआई की पेशकश की जाती है।
उदाहरण 2. एक एपीआई एक अंतिम उपयोगकर्ता को प्रमाणित करने के लिए HTTP बेसिक के माध्यम से एक उपयोगकर्ता नाम और पासवर्ड स्वीकार करता है। आम तौर पर उन्हें भविष्य के अनुरोधों के लिए एक टोकन वापस मिलता है।
मेरा सेटअप: मेरे पास एक JSON API होगा जिसे मैं एक मोबाइल और वेब ऐप के लिए अपने बैकएंड के रूप में उपयोग करता हूं। यह मोबाइल और वेब ऐप के लिए टोकन और सीक्रेट के साथ भेजने के लिए अच्छा अभ्यास लगता है, इसलिए केवल ये दोनों ऐप किसी अन्य तीसरे पक्ष को अवरुद्ध करने वाले एपीआई तक पहुंच सकते हैं।
लेकिन मोबाइल और वेब ऐप उपयोगकर्ताओं को लॉगिन करने और पोस्ट सबमिट करने, उनका डेटा देखने आदि की अनुमति देते हैं, इसलिए मैं उन्हें प्रत्येक अनुरोध पर HTTP बेसिक के माध्यम से लॉगिन करना चाहूंगा।
क्या मैं किसी तरह इन दोनों तरीकों के संयोजन का उपयोग करता हूं या केवल प्रत्येक अनुरोध पर अंतिम उपयोगकर्ता क्रेडेंशियल्स (उपयोगकर्ता नाम और टोकन) भेजता हूं? अगर मैं केवल अंतिम उपयोगकर्ता क्रेडेंशियल्स भेजता हूं, तो क्या मैं उन्हें क्लाइंट पर कुकी में संग्रहीत करता हूं?