Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं. जानकारी
![](https://docs.apigee.com/static/api-platform/images/icon_policy_security.jpg?hl=hi)
यह क्या है
'एपीआई पासकोड की पुष्टि करें' नीति से, रनटाइम के दौरान एपीआई पासकोड की पुष्टि की जा सकती है. इससे, सिर्फ़ वे ऐप्लिकेशन आपके एपीआई ऐक्सेस कर सकते हैं जिनके पास एपीआई पासकोड को अनुमति है. इस नीति से यह पक्का होता है कि एपीआई कुंजियां मान्य हैं, उन्हें वापस नहीं लिया गया है, और आपके एपीआई प्रॉडक्ट से जुड़े खास संसाधनों का इस्तेमाल करने के लिए उन्हें अनुमति दी गई है.
सैंपल
क्वेरी पैरामीटर में कुंजी
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.queryparam.apikey" /> </VerifyAPIKey>
इस उदाहरण में, इस नीति के लिए ज़रूरी है कि एपीआई पासकोड को request.queryparam.apikey
नाम के एक फ़्लो वैरिएबल में ढूंढा जाए. request.queryparam.{name}
वैरिएबल, एक स्टैंडर्ड एज फ़्लो वैरिएबल है. इसे क्लाइंट अनुरोध में पास किए गए क्वेरी पैरामीटर की वैल्यू से भरा जाता है.
यह curl
कमांड, क्वेरी पैरामीटर में एपीआई पासकोड पास करता है:
curl http://myorg-test.apigee.net/mocktarget?apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls
हेडर में कुंजी
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.header.x-apikey" /> </VerifyAPIKey>
इस उदाहरण में, इस नीति के लिए ज़रूरी है कि एपीआई पासकोड को request.header.x-apikey
नाम के एक फ़्लो वैरिएबल में ढूंढा जाए. वैरिएबल request.header.{name}
,
एक स्टैंडर्ड Edge फ़्लो वैरिएबल है. इसे क्लाइंट अनुरोध में पास किए जाने वाले हेडर
की वैल्यू से भरा जाता है.
यहां दिया गया cURL, हेडर में एपीआई पासकोड को पास करने का तरीका दिखाता है:
curl "http://myorg-test.apigee.net/mocktarget" -H "x-apikey:IEYRtW2cb7A5Gs54A1wKElECBL65GVls"
वैरिएबल में कुंजी
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="requestAPIKey.key"/> </VerifyAPIKey>
नीति में ऐसे किसी भी वैरिएबल का रेफ़रंस दिया जा सकता है जिसमें कुंजी शामिल है. इस उदाहरण में दी गई नीति, requestAPIKey.key नाम वाले वैरिएबल से, एपीआई पासकोड को एक्सट्रैक्ट करती है.
यह आप पर निर्भर करता है कि वैरिएबल को कैसे भरा जाएगा. उदाहरण के लिए, आपके पास एक्सट्रैक्ट वैरिएबल नीति का इस्तेमाल करके requestAPIKey.key को myKey नाम के क्वेरी पैरामीटर से भरने की सुविधा होती है, जैसा कि यहां दिखाया गया है:
<ExtractVariables async="false" continueOnError="false" enabled="true" name="SetAPIKeyVar"> <Source>request</Source> <QueryParam name="myKey"> <Pattern ignoreCase="true">{key}</Pattern> </QueryParam> <VariablePrefix>requestAPIKey</VariablePrefix> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ExtractVariables>
नीति के फ़्लो वैरिएबल को ऐक्सेस करना
<AssignMessage async="false" continueOnError="false" enabled="true" name="accessverifyvars"> <AssignVariable> <Name>devFirstName</Name> <Ref>verifyapikey.verify-api-key.developer.firstName</Ref> <Value>ErrorOnCopy</Value> </AssignVariable> <AssignVariable> <Name>devLastName</Name> <Ref>verifyapikey.verify-api-key.developer.lastName</Ref> <Value>ErrorOnCopy</Value> </AssignVariable> <AssignVariable> <Name>devEmail</Name> <Ref>verifyapikey.verify-api-key.developer.email</Ref> <Value>ErrorOnCopy</Value> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
किसी मान्य एपीआई पासकोड के लिए, 'एपीआई पासकोड की पुष्टि करें' नीति को लागू करते समय, Edge, फ़्लो वैरिएबल के सेट को अपने-आप भर देता है. इन वैरिएबल का इस्तेमाल, ऐप्लिकेशन का नाम, ऐप्लिकेशन आईडी, और ऐप्लिकेशन रजिस्टर करने वाले डेवलपर या कंपनी की जानकारी ऐक्सेस करने के लिए किया जा सकता है. ऊपर दिए गए उदाहरण में, पुष्टि करें एपीआई पासकोड के काम करने के बाद, डेवलपर का नाम, उपनाम, और ईमेल पता ऐक्सेस करने के लिए, मैसेज असाइन करने की नीति का इस्तेमाल किया जा रहा है.
इन सभी वैरिएबल के पहले अक्षर लगाए गए हैं:
verifyapikey.{policy_name}
इस उदाहरण में, 'एपीआई पासकोड की पुष्टि करें' नीति का नाम "verify-api-key" है. इसलिए, verifyapikey.verify-api-key.developer.firstName.
वैरिएबल को ऐक्सेस करके,
अनुरोध करने वाले डेवलपर के नाम का रेफ़रंस दिया जाता है
एज सीखें
'एपीआई पासकोड की पुष्टि करें' नीति के बारे में जानकारी
जब कोई डेवलपर EDGE पर किसी ऐप्लिकेशन को रजिस्टर करता है, तो Edge अपने-आप उपभोक्ता कुंजी और सीक्रेट जोड़ा जनरेट करता है. ऐप्लिकेशन की कंज़्यूमर कुंजी और सीक्रेट पेयर को EDGE यूज़र इंटरफ़ेस (यूआई) में देखा जा सकता है या उन्हें Edge API से ऐक्सेस किया जा सकता है.
ऐप्लिकेशन रजिस्ट्रेशन के समय, डेवलपर ऐप्लिकेशन के साथ जोड़ने के लिए एक या इससे ज़्यादा एपीआई प्रॉडक्ट चुनता है. इनमें एपीआई प्रॉडक्ट, ऐसे संसाधनों का कलेक्शन होता है जिन्हें एपीआई प्रॉक्सी की मदद से ऐक्सेस किया जा सकता है. इसके बाद, डेवलपर अपने ऐप्लिकेशन से जुड़े एपीआई प्रॉडक्ट में, एपीआई को किए गए हर अनुरोध के तहत, एपीआई पासकोड (उपभोक्ता कुंजी) को पास करता है. ज़्यादा जानकारी के लिए, पब्लिश करने की खास जानकारी देखें.
एपीआई कुंजियों का इस्तेमाल, पुष्टि करने वाले टोकन के तौर पर किया जा सकता है. इसके अलावा, इनका इस्तेमाल OAuth ऐक्सेस टोकन पाने के लिए भी किया जा सकता है. OAuth में, एपीआई कुंजियों को "क्लाइंट आईडी" कहा जाता है. नामों का इस्तेमाल एक-दूसरे की जगह पर किया जा सकता है. ज़्यादा जानकारी के लिए, OAuth होम देखें.
'एपीआई पासकोड की पुष्टि करें' नीति को लागू करते समय, Edge अपने-आप फ़्लो वैरिएबल के सेट को पॉप्युलेट कर देता है. ज़्यादा जानकारी के लिए, नीचे दिए गए फ़्लो वैरिएबल देखें.
एलिमेंट का रेफ़रंस
यहां ऐसे एलिमेंट और एट्रिब्यूट दिए गए हैं जिन्हें इस नीति पर कॉन्फ़िगर किया जा सकता है:
<VerifyAPIKey async="false" continueOnError="false" enabled="true" name="Verify-API-Key-1"> <DisplayName>Custom label used in UI</DisplayName> <APIKey ref="variable_containing_api_key"/> </VerifyAPIKey>
<VerifyAPIKey> एट्रिब्यूट
यहां दिए गए उदाहरण में, <VerifyAPIKey>
टैग के एट्रिब्यूट दिखाए गए हैं:
<VerifyAPIKey async="false" continueOnError="false" enabled="true" name="Verify-API-Key-1">
इस टेबल में उन एट्रिब्यूट के बारे में बताया गया है जो नीति के सभी पैरंट एलिमेंट के लिए एक जैसे होते हैं:
एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
---|---|---|---|
name |
नीति का अंदरूनी नाम. इसके अलावा, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में नीति को आम भाषा में अलग नाम से लेबल करने के लिए, |
लागू नहीं | ज़रूरी है |
continueOnError |
इस नीति को किसी नीति के काम न करने पर भी फ़्लो एक्ज़ीक्यूट करने की प्रोसेस को जारी रखने के लिए, |
false | ज़रूरी नहीं |
enabled |
नीति लागू करने के लिए, नीति को बंद करने के लिए, |
सही | ज़रूरी नहीं |
async |
यह एट्रिब्यूट अब काम नहीं करता. |
false | बहिष्कृत |
<DisplayName> एलिमेंट
मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, आम भाषा के अलग नाम से नीति को लेबल करने के लिए, name
एट्रिब्यूट का इस्तेमाल करें.
<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट |
लागू नहीं अगर इस एलिमेंट को छोड़ दिया जाता है, तो नीति के |
---|---|
मौजूदगी | ज़रूरी नहीं |
Type | String |
<APIKey> एलिमेंट
यह एलिमेंट उस फ़्लो वैरिएबल के बारे में बताता है जिसमें एपीआई पासकोड होता है. आम तौर पर, क्लाइंट एपीआई पासकोड को क्वेरी पैरामीटर, एचटीटीपी हेडर या फ़ॉर्म पैरामीटर में भेजता है. उदाहरण के लिए, अगर कुंजी को x-apikey
नाम के हेडर में भेजा जाता है, तो कुंजी को वैरिएबल में मिलेगा: request.header.x-apikey
डिफ़ॉल्ट | लागू नहीं |
---|---|
मौजूदगी | ज़रूरी है |
Type | String |
एट्रिब्यूट
यहां दी गई टेबल में <APIKey>
एलिमेंट के एट्रिब्यूट के बारे में बताया गया है
एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
---|---|---|---|
संदर्भ |
उस वैरिएबल का रेफ़रंस जिसमें एपीआई पासकोड होता है. हर नीति के लिए सिर्फ़ एक जगह की जानकारी दी जा सकती है. |
लागू नहीं | ज़रूरी है |
उदाहरण
इन उदाहरणों में, कुंजी को पैरामीटर और x-apikey
नाम के हेडर में पास किया जाता है.
क्वेरी पैरामीटर के तौर पर:
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.queryparam.x-apikey"/> </VerifyAPIKey>
एचटीटीपी हेडर के तौर पर:
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.header.x-apikey"/> </VerifyAPIKey>
एचटीटीपी फ़ॉर्म पैरामीटर के तौर पर:
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.formparam.x-apikey"/> </VerifyAPIKey>
स्कीमा
फ़्लो वैरिएबल
जब किसी मान्य एपीआई पासकोड पर 'एपीआई पासकोड की पुष्टि करें' नीति लागू की जाती है, तो Edge, फ़्लो वैरिएबल के एक सेट को पॉप्युलेट करता है. ये वैरिएबल उन नीतियों या कोड के लिए उपलब्ध होते हैं जिन्हें फ़्लो में बाद में लागू किया जाता है. इनका इस्तेमाल अक्सर एपीआई पासकोड के एट्रिब्यूट के आधार पर कस्टम प्रोसेसिंग के लिए किया जाता है. जैसे, ऐप्लिकेशन का नाम, एपीआई पासकोड की पुष्टि करने के लिए इस्तेमाल किया जाने वाला एपीआई प्रॉडक्ट या एपीआई पासकोड के कस्टम एट्रिब्यूट.
यह नीति कई अलग-अलग तरह के फ़्लो वैरिएबल को इकट्ठा करती है, जैसे:
- सामान्य
- ऐप्लिकेशन
- डेवलपर
- कंपनी
- Analytics
हर तरह के फ़्लो वैरिएबल का प्रीफ़िक्स अलग होता है. सभी वैरिएबल स्केलर होते हैं. हालांकि, वे वैरिएबल नहीं होते हैं जिन्हें खास तौर पर ऐरे के तौर पर दिखाया जाता है.
सामान्य फ़्लो वैरिएबल
नीचे दी गई टेबल में, 'एपीआई पासकोड की पुष्टि करें' नीति से पॉप्युलेट किए गए सामान्य फ़्लो वैरिएबल की सूची दी गई है. इन सभी वैरिएबल के पहले अक्षर लगाए गए हैं:
verifyapikey.{policy_name}
उदाहरण के लिए: verifyapikey.{policy_name}.client_id
उपलब्ध वैरिएबल में ये शामिल हैं:
वैरिएबल | ब्यौरा |
---|---|
client_id |
अनुरोध करने वाले ऐप्लिकेशन से मिली उपभोक्ता कुंजी (यानी एपीआई पासकोड या ऐप्लिकेशन कुंजी). |
client_secret |
ग्राहक कुंजी से जुड़ा ग्राहक रहस्य. |
redirection_uris |
अनुरोध में मौजूद कोई भी रीडायरेक्ट यूआरआई. |
developer.app.id |
अनुरोध करने वाले डेवलपर ऐप्लिकेशन का आईडी. |
developer.app.name |
अनुरोध करने वाले डेवलपर ऐप्लिकेशन का ऐप्लिकेशन. |
developer.id |
अनुरोध करने वाले ऐप्लिकेशन के मालिक के तौर पर रजिस्टर किए गए डेवलपर का आईडी. |
developer.{custom_attrib_name} |
'ऐप्लिकेशन कुंजी' प्रोफ़ाइल से मिला कोई भी कस्टम एट्रिब्यूट. |
DisplayName |
नीति की <DisplayName> एट्रिब्यूट की वैल्यू. |
failed |
एपीआई पासकोड की पुष्टि न होने पर, इसे "सही" पर सेट करें. |
{custom_app_attrib} |
ऐप्लिकेशन प्रोफ़ाइल से मिला कोई भी कस्टम एट्रिब्यूट. कस्टम एट्रिब्यूट के लिए नाम बताएं. |
apiproduct.name* |
अनुरोध की पुष्टि करने के लिए इस्तेमाल किए गए एपीआई प्रॉडक्ट का नाम. |
apiproduct.{custom_attrib_name}* |
एपीआई प्रॉडक्ट प्रोफ़ाइल से मिला कोई भी कस्टम एट्रिब्यूट. |
apiproduct.developer.quota.limit* |
एपीआई प्रॉडक्ट पर सेट की गई कोटा सीमा. |
apiproduct.developer.quota.interval* |
अगर कोई हो, तो एपीआई प्रॉडक्ट पर सेट किया गया कोटा इंटरवल. |
apiproduct.developer.quota.timeunit* |
एपीआई प्रॉडक्ट पर सेट की गई कोटा टाइम यूनिट, अगर कोई हो. |
* अगर एपीआई प्रॉडक्ट को मान्य एनवायरमेंट, प्रॉक्सी, और रिसॉर्स (proxy.pathsuffix से मिले हैं) के साथ कॉन्फ़िगर किया जाता है, तो एपीआई प्रॉडक्ट वैरिएबल अपने-आप पॉप्युलेट होते हैं. एपीआई प्रॉडक्ट सेट अप करने का तरीका जानने के लिए, एजेड मैनेजमेंट एपीआई का इस्तेमाल करके एपीआई पब्लिश करना देखें. |
ऐप्लिकेशन फ़्लो वैरिएबल
ऐप्लिकेशन के बारे में जानकारी वाले इन फ़्लो वैरिएबल को नीति से अपने-आप भरा जाता है. इन सभी वैरिएबल के पहले अक्षर लगाए गए हैं:
verifyapikey.{policy_name}.app
.
उदाहरण के लिए:
verifyapikey.{policy_name}.app.name
उपलब्ध वैरिएबल में ये शामिल हैं:
वैरिएबल | ब्यौरा |
---|---|
name |
ऐप्लिकेशन का नाम. |
id |
ऐप्लिकेशन का आईडी. |
accessType |
Apigee ने इस्तेमाल नहीं किया है. |
callbackUrl |
ऐप्लिकेशन का कॉलबैक यूआरएल. आम तौर पर, इसे सिर्फ़ OAuth के लिए इस्तेमाल किया जाता है. |
DisplayName |
ऐप्लिकेशन का डिसप्ले नेम. |
status |
ऐप्लिकेशन की स्थिति, जैसे कि 'स्वीकार किया गया' या 'रद्द किया गया'. |
apiproducts |
ऐप्लिकेशन से जुड़े एपीआई प्रॉडक्ट की सूची वाली कलेक्शन. |
appFamily |
कोई भी ऐप्लिकेशन फ़ैमिली जिसमें ऐप्लिकेशन शामिल है या "डिफ़ॉल्ट". |
appParentStatus |
ऐप्लिकेशन के पैरंट की स्थिति, जैसे कि 'चालू है' या 'इस्तेमाल में नहीं है' |
appType |
ऐप्लिकेशन टाइप, "कंपनी" या "डेवलपर" के तौर पर. |
appParentId |
पैरंट ऐप्लिकेशन का आईडी. |
created_at |
वह तारीख/समय स्टैंप जब ऐप्लिकेशन बनाया गया था. |
created_by |
उस डेवलपर का ईमेल पता जिसने ऐप्लिकेशन बनाया है. |
last_modified_at |
ऐप्लिकेशन को पिछली बार अपडेट किए जाने की तारीख/समय स्टैंप. |
last_modified_by |
उस डेवलपर का ईमेल पता जिसने पिछली बार ऐप्लिकेशन को अपडेट किया था. |
{app_custom_attributes} |
ऐप्लिकेशन की पसंद के मुताबिक कोई भी एट्रिब्यूट. कस्टम एट्रिब्यूट का नाम बताएं. |
डेवलपर फ़्लो वैरिएबल
डेवलपर के बारे में जानकारी वाले इन फ़्लो वैरिएबल को नीति से अपने-आप भरा जाता है. इन सभी वैरिएबल के पहले अक्षर लगाए गए हैं:
verifyapikey.{policy_name}.developer
उदाहरण के लिए:
verifyapikey.{policy_name}.developer.id
उपलब्ध वैरिएबल में ये शामिल हैं:
वैरिएबल | ब्यौरा |
---|---|
id |
{org_name}@@{developer_id} लौटाता है |
userName |
डेवलपर का उपयोगकर्ता नाम. |
firstName |
डेवलपर का नाम |
lastName |
डेवलपर का सरनेम. |
email |
डेवलपर का ईमेल पता. |
status |
डेवलपर की स्थिति, जैसे कि चालू, इनऐक्टिव या username_lock. |
apps |
डेवलपर से जुड़े ऐप्लिकेशन की कैटगरी. |
created_at |
डेवलपर बनाए जाने की तारीख/समय स्टैंप. |
created_by |
डेवलपर बनाने वाले उपयोगकर्ता का ईमेल पता. |
last_modified_at |
डेवलपर की ओर से पिछली बार बदलाव किए जाने की तारीख/समय स्टैंप. |
last_modified_by |
उस उपयोगकर्ता का ईमेल पता जिसने डेवलपर में बदलाव किया है. |
{developer_custom_attributes} |
कोई भी कस्टम डेवलपर एट्रिब्यूट. कस्टम एट्रिब्यूट का नाम बताएं. |
Company |
अगर कोई कंपनी डेवलपर से जुड़ी है, तो उसका नाम. |
कंपनी फ़्लो वैरिएबल
कंपनी के बारे में जानकारी वाले इन फ़्लो वैरिएबल को नीति से अपने-आप भरा जाता है. इन सभी वैरिएबल के पहले अक्षर लगाए गए हैं:
verifyapikey.{policy_name}.company
उदाहरण के लिए:
verifyapikey.{policy_name}.company.name
उपलब्ध वैरिएबल में ये शामिल हैं:
वैरिएबल | ब्यौरा |
---|---|
name |
कंपनी का नाम. |
displayName |
कंपनी का डिसप्ले नेम. |
id |
कंपनी का आईडी. |
apps |
कंपनी के ऐप्लिकेशन की सूची वाली कलेक्शन. |
appOwnerStatus |
ऐप्लिकेशन के मालिक का स्टेटस, 'चालू है', 'बंद है' या 'लॉगिन_लॉक' है.
|
created_at |
कंपनी बनाए जाने की तारीख/समय स्टैंप. |
created_by |
कंपनी बनाने वाले उपयोगकर्ता का ईमेल पता. |
last_modified_at |
कंपनी में पिछली बार बदलाव किए जाने की तारीख/समय स्टैंप. |
last_modified_by |
उस उपयोगकर्ता का ईमेल पता जिसने पिछली बार कंपनी में बदलाव किया था. |
{company_custom_attributes} |
कंपनी का कोई भी कस्टम एट्रिब्यूट. कस्टम एट्रिब्यूट का नाम बताएं. |
Analytics वैरिएबल
जब किसी मान्य एपीआई पासकोड के लिए 'एपीआई पासकोड की पुष्टि करें' नीति लागू की जाती है, तो Analytics में ये वैरिएबल अपने-आप पॉप्युलेट होते हैं. इन वैरिएबल को सिर्फ़ 'एपीआई की पुष्टि करें' नीति और OAuth नीतियों से अपने-आप भरा जाता है.
वैरिएबल और वैल्यू का इस्तेमाल, डाइमेंशन के तौर पर Analytics रिपोर्ट बनाने के लिए किया जा सकता है. इससे, डेवलपर और ऐप्लिकेशन को डेटा इस्तेमाल करने के पैटर्न के बारे में पता चलता है.
- apiproduct.name
- developer.app.name
- client_id
- developer.id
गड़बड़ी का रेफ़रंस
यह सेक्शन गड़बड़ी के कोड और दिखाए गए गड़बड़ी के मैसेज के बारे में बताता है. साथ ही, इस नीति के ट्रिगर होने पर Edge की मदद से सेट की गई गड़बड़ी के वैरिएबल के बारे में बताता है. यह जानकारी जानना ज़रूरी है कि क्या गड़बड़ियों को ठीक करने के लिए, गड़बड़ी से जुड़े नियम बनाए जा रहे हैं. ज़्यादा जानने के लिए, नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी और गड़बड़ियों को ठीक करने के तरीके देखें.
रनटाइम से जुड़ी गड़बड़ियां
नीति के लागू होने पर ये गड़बड़ियां हो सकती हैं.
गड़बड़ी का कोड | एचटीटीपी कोड स्थिति | वजह |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | जिस डेवलपर ऐप्लिकेशन के एपीआई पासकोड का इस्तेमाल किया जा रहा है उससे जुड़ी कंपनी के स्टेटस को इनऐक्टिव माना जाता है. जब किसी कंपनी की स्थिति 'बंद है' पर सेट होती है, तो आपके पास उस कंपनी के डेवलपर या ऐप्लिकेशन को ऐक्सेस करने का विकल्प नहीं होता है. संगठन का एडमिन, मैनेजमेंट एपीआई का इस्तेमाल करके, किसी कंपनी की स्थिति बदल सकता है. कंपनी का स्टेटस सेट करना देखें. |
keymanagement.service.DeveloperStatusNotActive |
401 |
जिस डेवलपर ने ऐप्लिकेशन बनाया है और उसके पास आपकी तरफ़ से इस्तेमाल की जा रही एपीआई पासकोड है, उसका स्टेटस इनऐक्टिव है. जब किसी ऐप्लिकेशन डेवलपर का स्टेटस 'बंद है' पर सेट होता है, तो उस डेवलपर के बनाए गए सभी डेवलपर ऐप्लिकेशन बंद हो जाते हैं. ज़रूरी अनुमतियों वाला एडमिन (जैसे कि संगठन का एडमिन), किसी डेवलपर के स्टेटस को इन तरीकों से बदल सकता है:
|
keymanagement.service.invalid_client-app_not_approved |
401 | एपीआई पासकोड से जुड़े डेवलपर ऐप्लिकेशन को निरस्त कर दिया गया है. रद्द किया गया ऐप्लिकेशन, किसी भी एपीआई प्रॉडक्ट को ऐक्सेस नहीं कर सकता. साथ ही, वह Apigee Edge से मैनेज किए जाने वाले किसी भी एपीआई को शुरू नहीं कर सकता. संगठन का एडमिन, management API का इस्तेमाल करके किसी डेवलपर ऐप्लिकेशन की स्थिति में बदलाव कर सकता है. डेवलपर ऐप्लिकेशन को मंज़ूरी देना या रद्द करना देखें. |
oauth.v2.FailedToResolveAPIKey |
401 | इस नीति के तहत, एपीआई पासकोड को उस वैरिएबल में खोजा जाना चाहिए जो नीति के <APIKey> एलिमेंट में बताया गया है. यह गड़बड़ी तब होती है, जब अनुमानित वैरिएबल मौजूद नहीं होता (इसे ठीक नहीं किया जा सकता). |
oauth.v2.InvalidApiKey |
401 | Edge को एपीआई पासकोड मिला था, लेकिन वह अमान्य है. जब Edge अपने डेटाबेस में कुंजी को खोजता है, तो उसे अनुरोध में भेजी गई कुंजी से पूरी तरह मेल खाना चाहिए. अगर यह एपीआई पहले काम कर रहा था, तो पक्का करें कि कुंजी को फिर से जनरेट नहीं किया गया हो. अगर कुंजी फिर से जनरेट की गई है, तो पुरानी कुंजी का इस्तेमाल करने पर, आपको यह गड़बड़ी दिखेगी. ज़्यादा जानकारी के लिए, ऐप्लिकेशन रजिस्टर करना और एपीआई कुंजियां मैनेज करना पेज पर जाएं. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Edge को एक एपीआई पासकोड मिला है और यह मान्य है. हालांकि, यह डेवलपर ऐप्लिकेशन में दी गई उस कुंजी से मेल नहीं खाता जो किसी प्रॉडक्ट के ज़रिए आपके एपीआई प्रॉक्सी से जुड़ी है. |
डिप्लॉयमेंट से जुड़ी गड़बड़ियां
ये गड़बड़ियां तब हो सकती हैं, जब इस नीति वाले किसी प्रॉक्सी को डिप्लॉय किया जाता है.
गड़बड़ी का नाम | वजह |
---|---|
SpecifyValueOrRefApiKey |
<APIKey> एलिमेंट में कोई वैल्यू या कुंजी मौजूद नहीं है. |
गड़बड़ी वाले वैरिएबल
रनटाइम में कोई गड़बड़ी होने पर ये वैरिएबल सेट किए जाते हैं. ज़्यादा जानकारी के लिए, नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी देखें.
वैरिएबल | जगह | उदाहरण |
---|---|---|
fault.name="fault_name" |
fault_name, गड़बड़ी का नाम है, जैसा कि ऊपर रनटाइम की गड़बड़ियां टेबल में दिया गया है. गड़बड़ी का नाम, गड़बड़ी के कोड का आखिरी हिस्सा होता है. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name, उस नीति का उपयोगकर्ता तय किया गया नाम है जिसकी वजह से गड़बड़ी हुई है. | oauthV2.VK-VerifyAPIKey.failed = true |
गड़बड़ी के जवाबों के उदाहरण
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
गड़बड़ी के नियम का उदाहरण
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>