VerificationAPIKey की नीति

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

यह क्या है

'एपीआई पासकोड की पुष्टि करें' नीति से, रनटाइम के दौरान एपीआई पासकोड की पुष्टि की जा सकती है. इससे, सिर्फ़ वे ऐप्लिकेशन आपके एपीआई ऐक्सेस कर सकते हैं जिनके पास एपीआई पासकोड को अनुमति है. इस नीति से यह पक्का होता है कि एपीआई कुंजियां मान्य हैं, उन्हें वापस नहीं लिया गया है, और आपके एपीआई प्रॉडक्ट से जुड़े खास संसाधनों का इस्तेमाल करने के लिए उन्हें अनुमति दी गई है.

सैंपल

क्वेरी पैरामीटर में कुंजी

<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

नीति का अंदरूनी नाम. name एट्रिब्यूट की वैल्यू में अक्षर, संख्याएं, स्पेस, हाइफ़न, अंडरस्कोर, और पीरियड शामिल किए जा सकते हैं. इस वैल्यू में 255 से ज़्यादा वर्ण नहीं हो सकते.

इसके अलावा, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में नीति को आम भाषा में अलग नाम से लेबल करने के लिए, <DisplayName> एलिमेंट का इस्तेमाल करें.

लागू नहीं ज़रूरी है
continueOnError

इस नीति को false पर सेट करें, ताकि नीति के काम न करने पर गड़बड़ी का मैसेज दिखे. ज़्यादातर नीतियों में, ऐसा आम तौर पर किया जाता है.

किसी नीति के काम न करने पर भी फ़्लो एक्ज़ीक्यूट करने की प्रोसेस को जारी रखने के लिए, true पर सेट करें.

false ज़रूरी नहीं
enabled

नीति लागू करने के लिए, true पर सेट करें.

नीति को बंद करने के लिए, false पर सेट करें. अगर यह नीति किसी फ़्लो से जुड़ी हुई है, तब भी उसे लागू नहीं किया जाएगा.

सही ज़रूरी नहीं
async

यह एट्रिब्यूट अब काम नहीं करता.

false बहिष्कृत

<DisplayName> एलिमेंट

मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, आम भाषा के अलग नाम से नीति को लेबल करने के लिए, name एट्रिब्यूट का इस्तेमाल करें.

<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट

लागू नहीं

अगर इस एलिमेंट को छोड़ दिया जाता है, तो नीति के name एट्रिब्यूट की वैल्यू का इस्तेमाल किया जाता है.

मौजूदगी ज़रूरी नहीं
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>

मिलते-जुलते विषय