আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
কি
যাচাই API কী নীতি আপনাকে রানটাইমে API কীগুলির যাচাইকরণ কার্যকর করতে দেয়, শুধুমাত্র অনুমোদিত API কী সহ অ্যাপগুলিকে আপনার APIগুলি অ্যাক্সেস করতে দেয়৷ এই নীতি নিশ্চিত করে যে API কীগুলি বৈধ, প্রত্যাহার করা হয়নি এবং আপনার API পণ্যগুলির সাথে সম্পর্কিত নির্দিষ্ট সংস্থানগুলি ব্যবহার করার জন্য অনুমোদিত৷
নমুনা
প্রশ্ন প্যারামে কী
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.queryparam.apikey" /> </VerifyAPIKey>
এই উদাহরণে, নীতি request.queryparam.apikey
নামক একটি ফ্লো ভেরিয়েবলে API কী খুঁজে পাওয়ার আশা করে। ভেরিয়েবল request.queryparam.{name}
হল একটি স্ট্যান্ডার্ড এজ ফ্লো ভেরিয়েবল যা ক্লায়েন্ট রিকোয়েস্টে পাস করা একটি ক্যোয়ারী প্যারামের মান দিয়ে পপুলেট করা হয়।
নিম্নলিখিত curl
কমান্ডটি একটি ক্যোয়ারী প্যারামে API কী পাস করে:
curl http://myorg-test.apigee.net/mocktarget?apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls
হেডারে কী
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.header.x-apikey" /> </VerifyAPIKey>
এই উদাহরণে, পলিসি request.header.x-apikey
নামক একটি ফ্লো ভেরিয়েবলে API কী খুঁজে পাওয়ার আশা করে। ভেরিয়েবল request.header.{name}
হল একটি স্ট্যান্ডার্ড এজ ফ্লো ভেরিয়েবল যা ক্লায়েন্ট রিকোয়েস্টে পাস করা হেডারের মান দিয়ে পপুলেট করা হয়।
নিম্নলিখিত কার্ল দেখায় কিভাবে একটি হেডারে API কী পাস করতে হয়:
curl "http://myorg-test.apigee.net/mocktarget" -H "x-apikey:IEYRtW2cb7A5Gs54A1wKElECBL65GVls"
পরিবর্তনশীল মধ্যে কী
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="requestAPIKey.key"/> </VerifyAPIKey>
নীতিটি কী ধারণ করে এমন যেকোনো ভেরিয়েবল উল্লেখ করতে পারে। এই উদাহরণে নীতি অনুরোধAPIKey.key নামের একটি ভেরিয়েবল থেকে API কী বের করে।
কিভাবে যে ভেরিয়েবল পপুলেট করা হয় আপনার উপর নির্ভর করে. উদাহরণস্বরূপ, আপনি myKey নামের একটি ক্যোয়ারী প্যারামিটার থেকে requestAPIKey.key পপুলেট করার জন্য Extract ভেরিয়েবল নীতি ব্যবহার করতে পারেন, যেমনটি নীচে দেখানো হয়েছে:
<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>
এজ স্বয়ংক্রিয়ভাবে ফ্লো ভেরিয়েবলের একটি সেট তৈরি করে যখন একটি বৈধ API কী-এর জন্য যাচাই API কী নীতি কার্যকর করে। অ্যাপের নাম, অ্যাপ আইডি এবং অ্যাপ নিবন্ধনকারী ডেভেলপার বা কোম্পানির তথ্যের মতো তথ্য অ্যাক্সেস করতে আপনি এই ভেরিয়েবলগুলি ব্যবহার করতে পারেন। উপরের উদাহরণে, আপনি যাচাই API কী কার্যকর করার পরে বিকাশকারীর প্রথম নাম, পদবি এবং ইমেল ঠিকানা অ্যাক্সেস করতে অ্যাসাইন বার্তা নীতি ব্যবহার করেন।
এই ভেরিয়েবলগুলি সমস্ত দ্বারা উপসর্গযুক্ত:
verifyapikey.{policy_name}
এই উদাহরণে, যাচাই API কী নীতির নাম হল " verify-api-key "৷ অতএব, আপনি ভেরিয়েবল verifyapikey.verify-api-key.developer.firstName.
এজ শিখুন
যাচাই API কী নীতি সম্পর্কে
যখন একজন বিকাশকারী এজ-এ একটি অ্যাপ নিবন্ধন করেন, তখন এজ স্বয়ংক্রিয়ভাবে একটি ভোক্তা কী এবং গোপন জোড়া তৈরি করে। আপনি এজ UI-তে অ্যাপের ভোক্তা কী এবং গোপন জুটি দেখতে পারেন বা এজ API থেকে সেগুলি অ্যাক্সেস করতে পারেন।
অ্যাপ রেজিস্ট্রেশনের সময়, ডেভেলপার অ্যাপটির সাথে যুক্ত করার জন্য এক বা একাধিক API পণ্য নির্বাচন করে, যেখানে একটি API পণ্য হল API প্রক্সির মাধ্যমে অ্যাক্সেসযোগ্য সম্পদের একটি সংগ্রহ। বিকাশকারী তারপরে অ্যাপের সাথে যুক্ত একটি API পণ্যে API-কে প্রতিটি অনুরোধের অংশ হিসাবে API কী (ভোক্তা কী) পাস করে। আরো জন্য প্রকাশনা ওভারভিউ দেখুন.
API কীগুলি প্রমাণীকরণ টোকেন হিসাবে ব্যবহার করা যেতে পারে, অথবা সেগুলি OAuth অ্যাক্সেস টোকেনগুলি পেতে ব্যবহার করা যেতে পারে। OAuth-এ, API কীগুলিকে "ক্লায়েন্ট আইডি" হিসাবে উল্লেখ করা হয়। নামগুলি বিনিময়যোগ্যভাবে ব্যবহার করা যেতে পারে। আরও জানতে OAuth হোম দেখুন।
যাচাই API কী নীতি নির্বাহ করার সময় এজ স্বয়ংক্রিয়ভাবে ফ্লো ভেরিয়েবলের একটি সেট তৈরি করে। আরও জন্য নীচে ফ্লো ভেরিয়েবল দেখুন.
উপাদান রেফারেন্স
নিম্নলিখিত উপাদান এবং বৈশিষ্ট্যগুলি আপনি এই নীতিতে কনফিগার করতে পারেন:
<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 | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে | N/A | প্রয়োজন |
continueOnError | একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে | মিথ্যা | ঐচ্ছিক |
enabled | নীতি প্রয়োগ করতে নীতি বন্ধ করতে | সত্য | ঐচ্ছিক |
async | এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ | মিথ্যা | অবচয় |
<DisplayName> উপাদান
ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে name
বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।
<DisplayName>Policy Display Name</DisplayName>
ডিফল্ট | N/A আপনি এই উপাদানটি বাদ দিলে, নীতির |
---|---|
উপস্থিতি | ঐচ্ছিক |
টাইপ | স্ট্রিং |
<APIKey> উপাদান
এই উপাদানটি ফ্লো ভেরিয়েবল নির্দিষ্ট করে যেটিতে API কী রয়েছে। সাধারণত, ক্লায়েন্ট একটি ক্যোয়ারী প্যারামিটার, HTTP হেডার বা একটি ফর্ম প্যারামিটারে API কী পাঠায়। উদাহরণস্বরূপ, যদি x-apikey
নামক একটি শিরোনামে কীটি পাঠানো হয়, তাহলে কীটি ভেরিয়েবলে পাওয়া যাবে: request.header.x-apikey
ডিফল্ট | এন.এ |
---|---|
উপস্থিতি | প্রয়োজন |
টাইপ | স্ট্রিং |
গুণাবলী
নিচের টেবিলটি <APIKey>
উপাদানের বৈশিষ্ট্য বর্ণনা করে
বৈশিষ্ট্য | বর্ণনা | ডিফল্ট | উপস্থিতি |
---|---|---|---|
রেফ | এপিআই কী রয়েছে এমন ভেরিয়েবলের একটি রেফারেন্স। নীতি প্রতি শুধুমাত্র একটি অবস্থান অনুমোদিত. | N/A | প্রয়োজন |
উদাহরণ
এই উদাহরণগুলিতে, কী প্যারামিটারে পাস করা হয় এবং x-apikey
নামক একটি হেডার।
একটি ক্যোয়ারী প্যারামিটার হিসাবে:
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.queryparam.x-apikey"/> </VerifyAPIKey>
একটি HTTP শিরোনাম হিসাবে:
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.header.x-apikey"/> </VerifyAPIKey>
একটি HTTP ফর্ম প্যারামিটার হিসাবে:
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.formparam.x-apikey"/> </VerifyAPIKey>
স্কিমাস
ফ্লো ভেরিয়েবল
যখন একটি যাচাই API কী নীতি একটি বৈধ API কীতে প্রয়োগ করা হয়, তখন এজ ফ্লো ভেরিয়েবলের একটি সেট তৈরি করে। এই ভেরিয়েবলগুলি প্রবাহের পরে কার্যকর করা নীতি বা কোডের জন্য উপলব্ধ, এবং প্রায়শই API কী-এর বৈশিষ্ট্য যেমন অ্যাপের নাম, কী অনুমোদন করতে ব্যবহৃত API পণ্য বা API-এর কাস্টম বৈশিষ্ট্যের উপর ভিত্তি করে কাস্টম প্রক্রিয়াকরণ করতে ব্যবহৃত হয়। চাবি
নীতিটি বিভিন্ন ধরনের ফ্লো ভেরিয়েবলকে অন্তর্ভুক্ত করে, যার মধ্যে রয়েছে:
- সাধারণ
- অ্যাপ
- বিকাশকারী
- কোম্পানি
- বিশ্লেষণ
প্রতিটি ধরনের ফ্লো ভেরিয়েবলের আলাদা উপসর্গ রয়েছে। সমস্ত ভেরিয়েবলই স্কেলার ব্যতীত বিশেষভাবে অ্যারে হিসাবে নির্দেশিত।
সাধারণ প্রবাহ ভেরিয়েবল
নিম্নলিখিত সারণীটি যাচাই API কী নীতি দ্বারা পপুলেট সাধারণ প্রবাহ ভেরিয়েবলের তালিকা করে। এই ভেরিয়েবলগুলি সমস্ত দ্বারা উপসর্গযুক্ত:
verifyapikey.{policy_name}
যেমন: verifyapikey.{policy_name}.client_id
উপলব্ধ ভেরিয়েবলগুলির মধ্যে রয়েছে:
পরিবর্তনশীল | বর্ণনা |
---|---|
client_id | ভোক্তা কী (ওরফে API কী বা অ্যাপ কী) অনুরোধকারী অ্যাপ দ্বারা সরবরাহ করা হয়েছে। |
client_secret | ভোক্তা কী সঙ্গে যুক্ত ভোক্তা গোপন. |
redirection_uris | অনুরোধে যেকোনো রিডাইরেক্ট ইউআরআই। |
developer.app.id | ডেভেলপার অ্যাপের আইডি অনুরোধ করছে। |
developer.app.name | ডেভেলপার অ্যাপের নাম অনুরোধ করছে। |
developer.id | অনুরোধকারী অ্যাপের মালিক হিসেবে নিবন্ধিত ডেভেলপারের আইডি। |
developer.{custom_attrib_name} | অ্যাপ কী প্রোফাইল থেকে প্রাপ্ত যেকোনো কাস্টম বৈশিষ্ট্য। |
DisplayName | নীতির <DisplayName> অ্যাট্রিবিউটের মান। |
failed | API কী যাচাইকরণ ব্যর্থ হলে "সত্য" তে সেট করুন৷ |
{custom_app_attrib} | অ্যাপ প্রোফাইল থেকে প্রাপ্ত যেকোনো কাস্টম বৈশিষ্ট্য। কাস্টম অ্যাট্রিবিউটের নাম উল্লেখ করুন। |
apiproduct.name* | অনুরোধটি যাচাই করতে ব্যবহৃত API পণ্যের নাম। |
apiproduct.{custom_attrib_name}* | API পণ্য প্রোফাইল থেকে প্রাপ্ত যেকোনো কাস্টম বৈশিষ্ট্য। |
apiproduct.developer.quota.limit* | API পণ্যে কোটা সীমা সেট করা আছে, যদি থাকে। |
apiproduct.developer.quota.interval* | API পণ্যে সেট করা কোটা ব্যবধান, যদি থাকে। |
apiproduct.developer.quota.timeunit* | API পণ্যে সেট করা কোটা সময় ইউনিট, যদি থাকে। |
* API পণ্য ভেরিয়েবলগুলি স্বয়ংক্রিয়ভাবে জনবহুল হয় যদি API পণ্যগুলি বৈধ পরিবেশ, প্রক্সি এবং সংস্থানগুলির সাথে কনফিগার করা হয় ( proxy.pathsuffix থেকে প্রাপ্ত)। API পণ্য সেট আপ করার নির্দেশাবলীর জন্য, এজ ম্যানেজমেন্ট API ব্যবহার করে এপিআই প্রকাশ করুন দেখুন। |
অ্যাপ ফ্লো ভেরিয়েবল
অ্যাপ সম্পর্কে তথ্য সম্বলিত নিম্নলিখিত ফ্লো ভেরিয়েবলগুলি নীতি দ্বারা পপুলেট করা হয়েছে৷ এই ভেরিয়েবলগুলি সমস্ত দ্বারা উপসর্গযুক্ত:
verifyapikey.{policy_name}.app
যেমন:
verifyapikey.{policy_name}.app.name
উপলব্ধ ভেরিয়েবলগুলির মধ্যে রয়েছে:
পরিবর্তনশীল | বর্ণনা |
---|---|
name | অ্যাপটির নাম। |
id | অ্যাপটির আইডি। |
accessType | Apigee দ্বারা অব্যবহৃত. |
callbackUrl | অ্যাপের কলব্যাক URL। সাধারণত শুধুমাত্র OAuth এর জন্য ব্যবহৃত হয়। |
DisplayName | অ্যাপটির প্রদর্শনের নাম। |
status | অ্যাপ স্ট্যাটাস, যেমন 'অনুমোদিত' বা 'প্রত্যাহার'। |
apiproducts | অ্যাপের সাথে সংশ্লিষ্ট API পণ্যের তালিকা ধারণকারী একটি অ্যারে। |
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 | সক্রিয়, নিষ্ক্রিয়, বা লগইন_লক হিসাবে বিকাশকারীর স্থিতি। |
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} | যেকোন কাস্টম কোম্পানির বৈশিষ্ট্য। কাস্টম অ্যাট্রিবিউটের নাম উল্লেখ করুন। |
বিশ্লেষণ ভেরিয়েবল
নিম্নলিখিত ভেরিয়েবলগুলি অ্যানালিটিক্সে স্বয়ংক্রিয়ভাবে জমা হয় যখন একটি বৈধ API কী-এর জন্য একটি যাচাই API কী নীতি প্রয়োগ করা হয়। এই ভেরিয়েবলগুলি শুধুমাত্র যাচাই API কী নীতি এবং OAuth নীতির দ্বারা পপুলেট করা হয়৷
ভেরিয়েবল এবং মানগুলিকে অ্যানালিটিক্স রিপোর্ট তৈরি করার জন্য মাত্রা হিসাবে ব্যবহার করা যেতে পারে যাতে ডেভেলপার এবং অ্যাপগুলির দ্বারা খরচের ধরণগুলিতে দৃশ্যমানতা লাভ করা যায়।
- apiproduct.name
- বিকাশকারী.অ্যাপ.নাম
- ক্লায়েন্ট_আইডি
- বিকাশকারী.আইডি
ত্রুটি উল্লেখ
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | The Company associated with the Developer App that has the API key you are using has an inactive status. When a Company's status is set to inactive, you cannot access the developers or apps associated with that Company. An org admin can change a Company's status using the management API. See Set the Status of a Company. |
keymanagement.service.DeveloperStatusNotActive |
401 |
The developer who created the Developer App that has the API key you are using has an inactive status. When an App Developer's status is set to inactive, any Developer Apps created by that developer are deactivated. An admin user with appropriate permissions (such as Organization Administrator) can change a developer's status in the following ways:
|
keymanagement.service.invalid_client-app_not_approved |
401 | The Developer App associated with the API key is revoked. A revoked app cannot access any API products and cannot invoke any API managed by Apigee Edge. An org admin can change the status of a Developer App using the management API. See Approve or Revoke Developer App. |
oauth.v2.FailedToResolveAPIKey |
401 | The policy expects to find the API key in a variable that is specified in the policy's <APIKey> element. This error arises when the expected variable does not exist (it cannot be resolved). |
oauth.v2.InvalidApiKey |
401 | An API key was received by Edge, but it is invalid. When Edge looks up the key in its database, it must exactly match the on that was sent in the request. If the API worked previously, make sure the key was not regenerated. If the key was regenerated, you will see this error if you try to use the old key. For details, see Register apps and manage API keys. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | An API key was received by Edge, and it is valid; however, it does not match an approved key in the Developer App associated with your API proxy through a Product. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause |
---|---|
SpecifyValueOrRefApiKey |
The <APIKey> element does not have a value or key specified. |
Fault variables
These variables are set when a runtime error occurs. For more information, see What you need to know about policy errors.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.VK-VerifyAPIKey.failed = true |
Example error responses
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
Example fault rule
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>