API कुंजी क्या है?
Scrapeless Web Unlocker प्रमाणित API अनुरोधों को x-api-token हेडर में भेजी गई Scrapeless API कुंजी के साथ प्रमाणित करता है।
TL;DR
- API कुंजी एक क्रेडेंशियल है जो एक एप्लिकेशन या खाते से संबंधित है। प्रदाता तय करता है कि वह क्या पहुंच प्रदान करता है और इसे कैसे भेजा जाना चाहिए।
- एक कुंजी एक रहस्य है भले ही इसका नाम सामान्य लगे। इसे ब्राउज़र बंडल, सार्वजनिक भंडार, URLs और साझा लॉग से बाहर रखें।
- प्रमाणीकरण और प्राधिकरण अलग-अलग जांच हैं। एक मान्यता प्राप्त कुंजी अब भी अनुमति, संतुलन, या अनुरोधित संचालन के लिए मान्य इनपुट की कमी कर सकती है।
- घूर्णन के लिए एक नियंत्रित परिवर्तन की आवश्यकता होती है। हर मौलिक सेवा में रहस्य को प्रतिस्थापित करें, नई कुंजी को सत्यापित करें, और खोले गए या सेवानिवृत्त कुंजी को अमान्य करें।
API कुंजी एक मान है जो सेवा द्वारा जारी किया जाता है ताकि सॉफ़्टवेयर अनुरोध करते समय खुद को पहचान सके। यह आमतौर पर एक खाते, परियोजना, या एप्लिकेशन से संबंधित होता है न कि मानव उपयोगकर्ता सत्र से। सर्वर प्रस्तुत मान की जांच करता है और अपने स्वयं के पहुंच और उपयोग नियम लागू करता है। कुंजी प्रारूप, हेडर नाम, दायरा नियंत्रण, और समाप्ति व्यवहार प्रदाता-विशिष्ट होते हैं। एक क्लाइंट को उन नियमों को वर्तमान API दस्तावेज़ीकरण से सीखना चाहिए बजाय इसके कि हर कुंजी एक बियरर टोकन की तरह काम करती है।
एक वेब डेटा एप्लिकेशन के लिए, भेद वास्तव में व्यवहारिक है। एक अनुरोध सही अंत बिंदु तक पहुँच सकता है फिर भी विफल हो सकता है क्योंकि कोई कुंजी प्रदान नहीं की गई थी, कुंजी गलत क्षेत्र में भेजी गई थी, या खाते को उस उत्पाद तक पहुंच नहीं थी। इसके विपरीत, एक कुंजी जो सफलतापूर्वक प्रमाणित करती है यह नहीं साबित करती कि अनुरोधित URL या पेलोड मान्य है। यह गाइड कुंजी को एक नियंत्रित अनुरोध के एक भाग के रूप में मानती है और इसके जीवन चक्र का पालन करती है जिससे निर्माण से लेकर निराकरण तक।
एक कुंजी क्या पहचानती है और क्या नहीं पहचानती
एक प्रदाता कुंजी जारी कर सकता है ताकि कॉलर की पहचान हो सके, उपयोग माप सके, कोटा लागू कर सके, और अनुरोधों को एक खाते या परियोजना के साथ संबद्ध कर सके। कुछ प्रणाली भी एक कुंजी को वातावरण, संचालन, या नेटवर्क मूल से प्रतिबंधित करने की अनुमति देती हैं। उन प्रतिबंधों में से कोई भी यह मानने की आवश्यकता नहीं है जब तक कि प्रदाता वास्तव में उन्हें न पेश करे। कुंजी एक क्रेडेंशियल है; प्रदाता की प्राधिकरण नीति यह निर्धारित करती है कि अनुरोध के पल में वह क्रेडेंशियल क्या कर सकती है।
एक कुंजी उपयोगकर्ता पासवर्ड के समान नहीं है। यह अक्सर बिना किसी इंटरेक्टिव लॉगिन के मशीन तक पहुंच देती है, और कई सेवाएं इस पर निर्भर हो सकती हैं। यह अपने आप में OAuth एक्सेस टोकन भी नहीं है। OAuth बियरर-टोकन विशिष्टता एक प्रस्तुति योजना का वर्णन करती है; कई API कुंजी प्रणालियाँ एक कस्टम हेडर का उपयोग करती हैं। हर रहस्य को बियरर मान के रूप में मान लेना प्रमाणीकरण को तोड़ सकता है या उसे उस जगह रख सकता है जहां प्रदाता ने कभी भी इरादा नहीं किया।
Scrapeless API कुंजी मार्गदर्शन कहता है कि Web Unlocker REST अनुरोध कच्ची कुंजी को x-api-token में बिना बियरर उपसर्ग के भेजता है। वही मार्गदर्शन बताता है कि अन्य Scrapeless इंटरफेस विभिन्न कनेक्शन विधियों का उपयोग कर सकते हैं। एक क्रेडेंशियल को REST ग्राहक, ब्राउज़र कनेक्शन, प्रॉक्सी कॉन्फ़िगरेशन, या SDK के बीच स्थानांतरित करने से पहले चयनित उत्पाद मार्गदर्शिका पढ़ें।
HTTP अनुरोध में API कुंजी कहाँ होती है
सेवा अनुबंध यह तय करता है कि क्या एक क्रेडेंशियल एक हेडर में, किसी अन्य परिवहन क्षेत्र में, या एक विशिष्ट कनेक्शन पैरामीटर में जाता है। HTTP हेडर सर्वर-से-सर्वर APIs के लिए सामान्य हैं क्योंकि वे संसाधन URL से क्रेडेंशियल को अलग रखते हैं। HTTP क्षेत्र मॉडल व्याख्या करता है कि अनुरोध मेटाडाटा संदेश के साथ कैसे यात्रा करता है। हेडर अभी भी क्लाइंट, उसके नियंत्रण के तहत प्रॉक्सी, और सर्वर लॉग को दिखाई देते हैं यदि वे सिस्टम उन्हें रिकॉर्ड करते हैं; एक हेडर TLS या लॉग विलोपन के लिए प्रतिस्थापन नहीं है।
एक लंबे समय तक चलने वाली कुंजी को URL में रखना से बचें जब तक कि प्रदाता स्पष्ट रूप से इसकी आवश्यकता न करे। URLs ब्राउज़र इतिहास, एनालिटिक्स, रेफरर फ्लोज़, रिवर्स-प्रॉक्सी लॉग, और चिपकाए गए स्क्रीनशॉट में दिखाई दे सकते हैं। यहां तक कि एक सही हेडर लीक कर सकता है यदि शब्दपूर्ण HTTP ट्रेसिंग पूर्ण अनुरोधों को प्रिंट करती है। साझा करने से पहले x-api-token और किसी भी कनेक्शन URL को जो एक टोकन को एम्बेड करता है उसे विलोपित करें। समर्थन के लिए एक अनुरोध ID या सुरक्षित उपसर्ग संग्रहीत करें न कि संपूर्ण क्रेडेंशियल।
एक एप्लिकेशन को अनुरोध भेजने से पहले एक आकस्मिक खाली कुंजी को अस्वीकार कर देना चाहिए। एक सर्वर प्रक्रिया में, परिनियोजन वातावरण या रहस्य प्रबंधक से एक रहस्य पढ़ें और यदि यह अनुपस्थित है तो प्रारंभ विफल करें। एक स्थानीय विकास शेल एक सत्र के लिए एक मान लोड कर सकता है, लेकिन इससे कुंजी शेल इतिहास या एक प्रतिबद्ध कॉन्फ़िगरेशन फ़ाइल में सुरक्षित नहीं होती। उदाहरणों को प्लेसहोल्डर के रूप में रखें और वास्तविक मान का परीक्षण केवल एक निजी वातावरण में करें।
विकास और परिनियोजन के बीच सुरक्षित भंडारण
विकास के दौरान, एक पर्यावरण चर या एक स्थानीय रहस्य फ़ाइल का उपयोग करें जिसे संस्करण नियंत्रण से बाहर रखा गया है। एक .env फ़ाइल केवल भंडारण है; प्रक्रिया इसे नहीं पढ़ेगी जब तक कि एक लोडर या एप्लिकेशन कोड ऐसा न करे। साझा उदाहरण फ़ाइलों में खाली मान या स्पष्ट प्लेसहोल्डर होना चाहिए। OWASP हार्ड-कोडेड क्रेडेंशियल मार्गदर्शन व्याख्या करता है कि सॉर्स कोड में एम्बेडेड रहस्य वितरण के बाद क्यों नियंत्रित करना कठिन होता है।
उत्पादन में, कुंजी को प्लेटफ़ॉर्म के गुप्त भंडार में रखें और केवल उस सेवा को पढ़ने की अनुमति दें जिसे इसकी आवश्यकता है। इसे रनटाइम पर इंजेक्ट करें बजाय के इसे एक छवि या फ्रंटेंड बंडल में बेक करने के। यह निर्धारित करें कि कौन रहस्य को बदल सकता है और कौन से परिनियोजन इसका उपभोग करते हैं। एक ब्राउज़र-साइड जावास्क्रिप्ट एप्लिकेशन उस व्यक्ति से लंबे समय तक चलने वाली कुंजी को गुप्त नहीं रख सकता है जो उस ब्राउज़र को चला रहा है; जब कुंजी खाते-स्तरीय पहुँच देती है, तो विश्वसनीय बैकएंड का उपयोग करें।
आसन्न सतहों की भी सुरक्षा करें। CI आउटपुट, त्रुटि ट्रैकिंग, अनुरोध ट्रेसिंग, नोटबुक कोशिकाएँ, समर्थन टिकट, और स्क्रीन रिकॉर्डिंग सभी एक क्रेडेंशियल ले जा सकते हैं भले ही भंडार ऐसा न हो। ज्ञात हेडर नामों और कुंजी पैटर्न के लिए स्वचालित विलोपन को कॉन्फ़िगर करें, लेकिन यह सुनिश्चित करने के लिए एक प्रतिनिधि लॉग की जांच करें कि फ़िल्टर काम करता है। लॉग की रिटेंशन को सीमित करें जो पहले रहस्यों को कैप्चर करता था और निराकरण के बाद उजागर प्रतियों को हटा दें।
एक कुंजी का उपयोग कैसे करें बिना त्रुटियों को गलत पढ़े
एक अनुरोध में कई मान्यता चरण होते हैं। सर्वर परिवहन और सिंटैक्स की जांच करता है, प्रमाण पत्र की पहचान करता है, पहुंच का मूल्यांकन करता है, उत्पाद-विशिष्ट इनपुट की जांच करता है, और अंततः एक परिणाम या त्रुटि लौटाता है। एक प्रमाणीकरण विफलता का सुझाव देता है कि कुंजी गायब, खराब, समाप्त, या गलत विधि द्वारा भेजी गई थी। एक प्राधिकरण या संतुलन विफलता तब भी हो सकती है जब कुंजी को मान्यता दी गई हो। एक अवैध पे लोड एक अलग समस्या है। केवल उस परत को बदलें जो प्रलेखित त्रुटि से प्रभावित है।
Scrapeless उपयोगकर्ता जानकारी के अनुरोध को एक तरीका के रूप में दस्तावेजीकृत करता है ताकि कुंजी प्रमाणीकरण को बिना स्क्रैपिंग नौकरी शुरू किए सत्यापित किया जा सके। वहाँ सफल प्रमाणीकरण यह प्रमाणित करता है कि कुंजी उस संचालन के लिए काम करती है; यह हर उत्पाद तक पहुंच स्थापित नहीं करता है। एक छोटा, प्रलेखित वेब अनलॉकर अनुरोध फिर उत्पाद-विशिष्ट पथ का परीक्षण कर सकता है। सत्यापन कॉल द्वारा लौटाई गई खाता जानकारी को कभी भी प्रकाशित न करें और HTTP स्थिति के साथ-साथ प्रतिक्रिया शरीर की भी जांच करें।
यह वेब अनलॉकर उत्पाद पृष्ठ URL-आधारित सार्वजनिक वेब पुनर्प्राप्ति का वर्णन करता है। यदि प्राप्त प्रतिक्रिया में अपेक्षित सामग्री की कमी है, तो केवल इसलिए कि उसी कॉल ने कुंजी का उपयोग किया, कुंजी को संभावित कारण के रूप में मानने से बचें। लक्षित URL, रीडायरेक्ट, रेंडरिंग आवश्यकताएँ, आउटपुट प्रकार और स्रोत-पृष्ठ पहचान की पुष्टि करें। प्रमाण पत्र मान्यता और सामग्री मान्यता अलग प्रश्नों का उत्तर देती हैं।
घुमाव, एक्सपोज़र, और रद्दीकरण
एक नियोजित घुमाव एक चरणबद्ध परिनियोजन परिवर्तन है। उस सेवाओं का इन्वेंट्री करें जो पुरानी कुंजी का उपयोग करती हैं, प्रदाता के उपलब्ध नियंत्रणों का उपयोग करके एक प्रतिस्थापन प्रदान करें, प्रत्येक गुप्त भंडार को अपडेट करें, ऐसे प्रक्रियाओं को पुनरारंभ करें जो केवल स्टार्टअप पर गुप्त पढ़ती हैं, और प्रतिनिधि संचालन की पुष्टि करें। एक बार जब नई कुंजी साबित हो जाए, तो पुरानी कुंजी को अमान्य कर दें। कटओवर के मालिक और समय को रिकॉर्ड करें ताकि बाद की विफलताओं को परिवर्तन के लिए ट्रेस किया जा सके बजाय कि अनुमान लगाया जा सके।
एक उजागर कुंजी को पहले नियंत्रण की आवश्यकता होती है। इसे प्रदाता के उपलब्ध नियंत्रणों या समर्थन चैनल के माध्यम से अमान्य करें, भले ही इससे एक नौकरी में बाधा आए, फिर एक प्रतिस्थापन जारी करें और हाल के उपयोग की समीक्षा करें। एक रिपोजिटरी कमिट को हटाना या एक स्क्रीनशॉट को रेडेक्ट करना एक कॉपी की गई कुंजी को अमान्य नहीं करता है। यह निश्चित करना कि घटनाओं के पर्याप्त सबूत हैं ताकि यह समझा जा सके कि एक्सपोज़र कहाँ हुआ, लेकिन जाँच करते समय गुप्त को नए टिकटों में कॉपी करने से बचें।
दायरा और समाप्ति विस्फोटक क्षेत्र को कम करते हैं जब प्रदाता उन्हें प्रदान करता है, लेकिन वे सुरक्षित संग्रहण की आवश्यकता को समाप्त नहीं करते हैं। एक संकीर्ण रूप से निर्दिष्ट कुंजी फिर भी अपने दायरे के भीतर डेटा का खुलासा कर सकती है या चार्ज जुटा सकती है। जहां खाता मॉडल इसका समर्थन करता है, विकास और उत्पादन प्रमाण पत्र को अलग करें। यदि एक कुंजी कई अनजाने कामों के लिए कार्य करती है, तो घुमाव अधिक कठिन हो जाता है क्योंकि प्रत्येक उपभोक्ता को एक साथ आगे बढ़ना चाहिए; आपात स्थिति से पहले उस निर्भरता की योजना बनाएं।
API कुंजी और निर्धारित अभिगम के बीच चयन करना
API कुंजियाँ उसके अपने खाते का उपयोग कर रहे बैकएंड सेवा के लिए अच्छी तरह से काम करती हैं, विशेषकर जब प्रदाता स्पष्ट प्रतिबंध और रद्दीकरण प्रदान करता है। वे अनियोजित तीसरे पक्ष के अनुप्रयोग को एक उपयोगकर्ता के खाते तक व्यापक पहुंच प्रदान करने का एक खराब तरीका हैं। एक संदर्भित प्राधिकरण प्रोटोकॉल एक उपयोगकर्ता की ओर से सीमित पहुंच प्रदान कर सकता है और अलग-अलग टोकन जीवन चक्र प्रदान कर सकता है। सही विकल्प विश्वास रिश्ते पर निर्भर करता है, न कि किस प्रमाण पत्र का एक उदाहरण में छोटा दिखता है।
क्लाइंट एकीकरण के लिए, लिखें कि खाता किसका है, गुप्त कहाँ संग्रहीत है, यह क्या कर सकता है, इसका उपयोग कैसे मॉनिटर किया जाता है, और इसे कैसे रद्द किया जाएगा। यदि एक मोबाइल या ब्राउज़र एप्लिकेशन को प्रदाता को कॉल करना है, तो एक बैकएंड प्रॉक्सी पर विचार करें, जो अंतिम उपयोगकर्ता को प्रमाणीकरण करता है और फिर विश्वसनीय वातावरण से प्रदाता का अनुरोध करता है। उस बैकएंड को अपने खुद के प्राधिकरण जांच की आवश्यकता है ताकि यह एक खुले रिले में न बदल सके।
संबंधित पायथन API कॉल गाइड चारों ओर के HTTP मैकेनिक्स को दिखाती है। इसके परिवहन विचारों को प्रदाता-विशिष्ट प्रमाणीकरण विवरणों से अलग रखें, जो बदल सकते हैं। Scrapeless के लिए, वर्तमान कुंजी प्रबंधन दस्तावेज सटीक हेडर और सत्यापन सतह के लिए प्राधिकृत होते हैं।
निष्कर्ष
API कुंजी एक प्रदाता की पहुँच नीति के अंतर्गत कॉलर की पहचान करती है। इसके सुरक्षित उपयोग का निर्भर करता है सही अनुरोध विधि, नियंत्रित भंडारण, रेडेक्टेड डायग्नोस्टिक्स, और एक परीक्षण प्रतिस्थापन प्रक्रिया। कुंजी को एक दस्तावेजीकृत संचालन के साथ सत्यापित करें, फिर अलग से उत्पाद पहुंच और प्रतिक्रिया सामग्री को सत्यापित करें।
अपना पहला प्रमाणीकृत अनुरोध करें
अपने सर्वर वातावरण में एक Scrapeless API कुंजी की सुरक्षा करें और वर्तमान वेब अनलॉकर त्वरित प्रारंभ का पालन करें।
आज पंजीकरण करें और प्राप्त करें $5 मुफ्त क्रेडिट — कोई क्रेडिट कार्ड आवश्यक नहीं है.
अपना $5 क्रेडिट प्राप्त करें →अक्सर पूछे जाने वाले प्रश्न
क्या API कुंजी वही है जो पासवर्ड है?
दोनों रहस्य हैं, लेकिन एक API कुंजी आमतौर पर सेवा खाते या परियोजना में मशीन पहुंच का प्रतिनिधित्व करती है, जबकि एक पासवर्ड आमतौर पर इंटरैक्टिव लॉगिन में उपयोग होता है। प्रदाता वास्तविक दायरा निर्धारित करता है। दोनों की सुरक्षा करें, और यह न मानें कि एक कुंजी को केवल इसलिए सुरक्षित रूप से साझा किया जा सकता है क्योंकि इसे API कुंजी कहा जाता है।
क्या मुझे Scrapeless कुंजी को Authorization: Bearer में रखना चाहिए?
वेब अनलॉकर REST अनुरोध के लिए नहीं। Scrapeless उस इंटरफेस के लिए x-api-token हेडर में कच्ची कुंजी का निर्दिष्ट करता है। अन्य उत्पाद विभिन्न कनेक्शन विधियों का उपयोग कर सकते हैं, इसलिए एक प्रमाणीकृत अनुरोध बनाने से पहले वर्तमान उत्पाद गाइड की जाँच करें।
क्या एक फ्रंटेंड एप्लिकेशन API कुंजी छिपा सकता है?
एक ब्राउज़र आवेदन अपने उपयोगकर्ताओं को भेजे गए प्रमाण पत्र को विश्वसनीय रूप से छिपा नहीं सकता। स्रोत फ़ाइलें, नेटवर्क अनुरोध, और रनटाइम मेमोरी ब्राउज़र मालिक के लिए अवलोकनीय हैं। यदि कुंजी विशेषाधिकार प्राप्त खाता पहुंच प्रदान करती है, तो किसी विश्वसनीय बैकएंड से प्रदाता को कॉल करें जो अपने स्वयं के उपयोगकर्ता प्राधिकरण को लागू करता है।
यदि एक कुंजी एक सार्वजनिक रिपॉजिटरी में दिखाई देती है तो क्या होगा?
कुंजी को उजागर के रूप में मानें। इसे प्रदाता के उपलब्ध नियंत्रणों का उपयोग करके अमान्य करें, इसे निर्भर सेवा में प्रतिस्थापित करें, और हाल के उपयोग की जांच करें। नवीनतम फ़ाइल संस्करण से पाठ को हटाना पर्याप्त नहीं है क्योंकि मूल्य को कॉपी या रिपॉजिटरी इतिहास में बनाए रखा गया हो सकता है।
क्या एक मान्य कुंजी एक सफल API कॉल की गारंटी देती है?
नहीं। प्रमाणीकरण केवल एक चेक है। खाते में उत्पाद पहुंच या बैलेंस की कमी हो सकती है, अनुरोध शरीर अमान्य हो सकता है, या अनुरोधित सार्वजनिक पृष्ठ में अपेक्षित डेटा नहीं हो सकता है। दस्तावेज़ीकृत त्रुटि को व्याख्या करें और लौटाए गए सामग्री को अलग से मान्य करें।