एपीआई कुंजी क्या है? [बन्द है]


109

मैं इस शब्द को इन दिनों लगभग हर क्रॉस सर्विस एप्लिकेशन में देखता हूं।

वास्तव में एक एपीआई कुंजी क्या है और इसके उपयोग क्या हैं?

इसके अलावा, सार्वजनिक और निजी एपीआई कुंजी के बीच अंतर क्या है।

जवाबों:


111

क्या "बिल्कुल" एक एपीआई कुंजी का उपयोग किया जाता है यह निर्भर करता है कि कौन इसे जारी करता है, और यह किन सेवाओं के लिए उपयोग किया जा रहा है। हालांकि और बड़ी, एक एपीआई कुंजी गुप्त टोकन के कुछ रूप को दिया गया नाम है जो अनुरोध के मूल की पहचान करने के लिए वेब सेवा (या समान) अनुरोधों के साथ प्रस्तुत किया गया है। कुंजी को मूल को आगे सत्यापित करने और मूल्यों के साथ छेड़छाड़ को रोकने के लिए अनुरोध सामग्री के कुछ डाइजेस्ट में शामिल किया जा सकता है।

आमतौर पर, यदि आप अनुरोध के स्रोत को सकारात्मक रूप से पहचान सकते हैं, तो यह प्रमाणीकरण के रूप में कार्य करता है, जिससे अभिगम नियंत्रण हो सकता है। उदाहरण के लिए, आप अनुरोध करने वाले अनुरोध के आधार पर कुछ एपीआई कार्रवाइयों तक पहुंच को प्रतिबंधित कर सकते हैं। ऐसी कंपनियों के लिए जो ऐसी सेवाओं को बेचने से पैसा कमाती हैं, यह ट्रैकिंग का एक तरीका है जो बिलिंग उद्देश्यों के लिए उपयोग कर रहा है। आगे अभी भी, एक कुंजी को अवरुद्ध करके, आप बहुत अधिक अनुरोध वाले संस्करणों के मामले में दुर्व्यवहार को आंशिक रूप से रोक सकते हैं।

सामान्य तौर पर, यदि आपके पास एक सार्वजनिक और एक निजी एपीआई कुंजी है, तो यह बताता है कि कुंजी स्वयं एक पारंपरिक सार्वजनिक / निजी कुंजी जोड़ी है जो किसी प्रकार के असममित क्रिप्टोग्राफी , या संबंधित, डिजिटल हस्ताक्षर में उपयोग की जाती है। ये अनुरोध के स्रोत को सकारात्मक रूप से पहचानने के लिए और इसके अलावा, स्नूपिंग (छेड़छाड़ के अलावा) से अनुरोध की सामग्री की सुरक्षा के लिए अधिक सुरक्षित तकनीकें हैं।


12
अच्छे से कहा! हालांकि, मेरे कुछ सीमित अनुभव में, सार्वजनिक / निजी अंतर का सार्वजनिक कुंजी क्रिप्टो से कोई लेना-देना नहीं है। "सार्वजनिक" चाबियाँ जो मैंने देखी हैं, वे आमतौर पर "एक्सेस लाइट" हैं - दूसरे शब्दों में, एक कुंजी जिसे आप गैर-संवेदनशील डेटा तक पहुंच प्रदान करने के लिए वितरित कर सकते हैं, बिना राज्य को चाबी दिए।
समयदेव

2
@Rob +1 विस्तृत उत्तर के लिए @tim +1 के लिए aferthought!
ऑरेंजरिंड सेप

@ तिम - सहमत। मुझे लगता है कि मैंने जो अधिक सामान्य दृष्टिकोण देखा है, वह निजी पचाने की कुंजी है।
रोब

24

बहुत आम तौर पर बोल:

एक एपीआई कुंजी बस आपको पहचानती है।

यदि कोई सार्वजनिक / निजी भेद है, तो सार्वजनिक कुंजी वह है जिसे आप दूसरों को वितरित कर सकते हैं, जिससे आप एपी से आपके बारे में कुछ जानकारी प्राप्त कर सकते हैं। निजी कुंजी केवल आपके उपयोग के लिए है, और आपके सभी डेटा तक पहुंच प्रदान करती है।


अधिकांश समय वे राख की तरह दिखते हैं। क्या मेरा अवलोकन सही है?
ऑरेंजरिंड सेप

जब तक आप चाहते हैं तब तक उत्पन्न किया जा सकता है, जब तक वे अद्वितीय हैं। कुछ डेटा का हैश किसी को उत्पन्न करने के लिए एक उचित तरीका लगता है, हाँ।
मैथ्यू शार्ले

हां, वे हैश की तरह दिखते हैं। सब के बाद, आप उन्हें अनुमान लगाने में आसान नहीं होना चाहते हैं।
तिमदेव

1
अधिक या कम - सबसे अधिक दलदल मानक एपीआई कुंजी कुछ छद्म आयामी मूल्य हैशिंग द्वारा उत्पन्न की जाती हैं और परिणाम पर कुछ मानक सादे-पाठ एन्कोडिंग प्रदर्शन करते हैं, जैसे बेस 16, बेस 64 आदि
रोब

18

ऐसा लगता है कि कई लोग सुरक्षा समाधान के रूप में एपीआई कुंजी का उपयोग करते हैं। लब्बोलुआब यह है: एपीआई कुंजियों को कभी भी गुप्तमानें क्योंकि यह नहीं है। Https या नहीं पर, जो कोई भी अनुरोध पढ़ सकता है वह API कुंजी देख सकता है और जो चाहे कॉल कर सकता है। API कुंजी एक 'उपयोगकर्ता' पहचानकर्ता के रूप में होनी चाहिए क्योंकि ssl के साथ उपयोग किए जाने पर भी इसका पूर्ण सुरक्षा समाधान नहीं है।

बेहतर वर्णन यूजीन ओस्वेत्स्की लिंक में है: जब अधिकांश एपीआई के साथ काम करते हैं, तो उन्हें दो प्रकार के प्रमाणीकरण की आवश्यकता होती है, अर्थात् एक कुंजी और एक गुप्त। या http://nordicapis.com/why-api-keys-are-not-enough/ चेक करें


2
जैसा कि आप देख सकते हैं, यह एक पुराना प्रश्न है, और संभवतः आधुनिक स्टैक ओवरफ्लो मानकों के अनुसार इसे "बहुत व्यापक" (या शायद "ऑफ-टॉपिक") माना जा सकता है। इस तरह के सवाल राय के उत्तरों को आकर्षित करने के लिए होते हैं, जो आमतौर पर अस्वीकृत और / या हटाए जाते हैं। इस तरह के सवालों से दूर रहना आमतौर पर कार्रवाई का सबसे अच्छा कोर्स है। अधिक जानकारी के लिए आप सहायता केंद्र पर एक नज़र डाल सकते हैं ।
देव-आईएल

10

एपीआई कुंजी एक विशिष्ट मूल्य है जिसे इस सेवा के उपयोगकर्ता को सौंपा जाता है जब वह सेवा के उपयोगकर्ता के रूप में स्वीकार किया जाता है।

सेवा सभी जारी की गई चाबियों को बनाए रखती है और प्रत्येक अनुरोध पर उन्हें जांचती है।

अनुरोध पर आपूर्ति की गई कुंजी को देखकर, एक सेवा यह जांचती है कि क्या उपयोगकर्ता को एक्सेस देना है या नहीं, यह तय करना एक वैध कुंजी है।


तो सार्वजनिक और निजी एक के बारे में क्या?
ऑरेंजरिंड सेप

1
सार्वजनिक और निजी कुंजी एन्क्रिप्शन के डोमेन से आती हैं और असममित एन्क्रिप्शन के साथ कुछ करना है। मैंने इन शब्दों को एपीआई कीज़ के अर्थ में कभी नहीं सुना है।

2

एपीआई कुंजी वेब सेवाओं के उपयोगकर्ताओं को प्रमाणित करने का सिर्फ एक तरीका है।


1

इसे इस तरह से सोचें, "सार्वजनिक एपीआई कुंजी" एक उपयोगकर्ता नाम के समान है जिसे आपका डेटाबेस सत्यापन सर्वर में लॉगिन के रूप में उपयोग कर रहा है। "निजी एपीआई कुंजी" तब पासवर्ड के समान होगा। इस पद्धति का उपयोग करके साइट / डेटाबेस द्वारा, आपकी साइट / डेटाबेस को पोस्ट या संपादित करने के प्रामाणिक अनुरोध के लिए तीसरे पक्ष / सत्यापन सर्वर पर सुरक्षा बनाए रखी जाती है।

API स्ट्रिंग, सत्यापन सर्वर से संपर्क करने के लिए आपकी साइट / डेटाबेस के लिए लॉगिन का URL है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.