मैं इस शब्द को इन दिनों लगभग हर क्रॉस सर्विस एप्लिकेशन में देखता हूं।
वास्तव में एक एपीआई कुंजी क्या है और इसके उपयोग क्या हैं?
इसके अलावा, सार्वजनिक और निजी एपीआई कुंजी के बीच अंतर क्या है।
मैं इस शब्द को इन दिनों लगभग हर क्रॉस सर्विस एप्लिकेशन में देखता हूं।
वास्तव में एक एपीआई कुंजी क्या है और इसके उपयोग क्या हैं?
इसके अलावा, सार्वजनिक और निजी एपीआई कुंजी के बीच अंतर क्या है।
जवाबों:
क्या "बिल्कुल" एक एपीआई कुंजी का उपयोग किया जाता है यह निर्भर करता है कि कौन इसे जारी करता है, और यह किन सेवाओं के लिए उपयोग किया जा रहा है। हालांकि और बड़ी, एक एपीआई कुंजी गुप्त टोकन के कुछ रूप को दिया गया नाम है जो अनुरोध के मूल की पहचान करने के लिए वेब सेवा (या समान) अनुरोधों के साथ प्रस्तुत किया गया है। कुंजी को मूल को आगे सत्यापित करने और मूल्यों के साथ छेड़छाड़ को रोकने के लिए अनुरोध सामग्री के कुछ डाइजेस्ट में शामिल किया जा सकता है।
आमतौर पर, यदि आप अनुरोध के स्रोत को सकारात्मक रूप से पहचान सकते हैं, तो यह प्रमाणीकरण के रूप में कार्य करता है, जिससे अभिगम नियंत्रण हो सकता है। उदाहरण के लिए, आप अनुरोध करने वाले अनुरोध के आधार पर कुछ एपीआई कार्रवाइयों तक पहुंच को प्रतिबंधित कर सकते हैं। ऐसी कंपनियों के लिए जो ऐसी सेवाओं को बेचने से पैसा कमाती हैं, यह ट्रैकिंग का एक तरीका है जो बिलिंग उद्देश्यों के लिए उपयोग कर रहा है। आगे अभी भी, एक कुंजी को अवरुद्ध करके, आप बहुत अधिक अनुरोध वाले संस्करणों के मामले में दुर्व्यवहार को आंशिक रूप से रोक सकते हैं।
सामान्य तौर पर, यदि आपके पास एक सार्वजनिक और एक निजी एपीआई कुंजी है, तो यह बताता है कि कुंजी स्वयं एक पारंपरिक सार्वजनिक / निजी कुंजी जोड़ी है जो किसी प्रकार के असममित क्रिप्टोग्राफी , या संबंधित, डिजिटल हस्ताक्षर में उपयोग की जाती है। ये अनुरोध के स्रोत को सकारात्मक रूप से पहचानने के लिए और इसके अलावा, स्नूपिंग (छेड़छाड़ के अलावा) से अनुरोध की सामग्री की सुरक्षा के लिए अधिक सुरक्षित तकनीकें हैं।
बहुत आम तौर पर बोल:
एक एपीआई कुंजी बस आपको पहचानती है।
यदि कोई सार्वजनिक / निजी भेद है, तो सार्वजनिक कुंजी वह है जिसे आप दूसरों को वितरित कर सकते हैं, जिससे आप एपी से आपके बारे में कुछ जानकारी प्राप्त कर सकते हैं। निजी कुंजी केवल आपके उपयोग के लिए है, और आपके सभी डेटा तक पहुंच प्रदान करती है।
ऐसा लगता है कि कई लोग सुरक्षा समाधान के रूप में एपीआई कुंजी का उपयोग करते हैं। लब्बोलुआब यह है: एपीआई कुंजियों को कभी भी गुप्त न मानें क्योंकि यह नहीं है। Https या नहीं पर, जो कोई भी अनुरोध पढ़ सकता है वह API कुंजी देख सकता है और जो चाहे कॉल कर सकता है। API कुंजी एक 'उपयोगकर्ता' पहचानकर्ता के रूप में होनी चाहिए क्योंकि ssl के साथ उपयोग किए जाने पर भी इसका पूर्ण सुरक्षा समाधान नहीं है।
बेहतर वर्णन यूजीन ओस्वेत्स्की लिंक में है: जब अधिकांश एपीआई के साथ काम करते हैं, तो उन्हें दो प्रकार के प्रमाणीकरण की आवश्यकता होती है, अर्थात् एक कुंजी और एक गुप्त। या http://nordicapis.com/why-api-keys-are-not-enough/ चेक करें
एपीआई कुंजी एक विशिष्ट मूल्य है जिसे इस सेवा के उपयोगकर्ता को सौंपा जाता है जब वह सेवा के उपयोगकर्ता के रूप में स्वीकार किया जाता है।
सेवा सभी जारी की गई चाबियों को बनाए रखती है और प्रत्येक अनुरोध पर उन्हें जांचती है।
अनुरोध पर आपूर्ति की गई कुंजी को देखकर, एक सेवा यह जांचती है कि क्या उपयोगकर्ता को एक्सेस देना है या नहीं, यह तय करना एक वैध कुंजी है।
इसे इस तरह से सोचें, "सार्वजनिक एपीआई कुंजी" एक उपयोगकर्ता नाम के समान है जिसे आपका डेटाबेस सत्यापन सर्वर में लॉगिन के रूप में उपयोग कर रहा है। "निजी एपीआई कुंजी" तब पासवर्ड के समान होगा। इस पद्धति का उपयोग करके साइट / डेटाबेस द्वारा, आपकी साइट / डेटाबेस को पोस्ट या संपादित करने के प्रामाणिक अनुरोध के लिए तीसरे पक्ष / सत्यापन सर्वर पर सुरक्षा बनाए रखी जाती है।
API स्ट्रिंग, सत्यापन सर्वर से संपर्क करने के लिए आपकी साइट / डेटाबेस के लिए लॉगिन का URL है।