คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ
Apigee X info

อะไร
นโยบาย "ยืนยันคีย์ API" ช่วยให้คุณบังคับใช้การยืนยันคีย์ API ในขณะรันไทม์ได้ โดยอนุญาตให้เฉพาะแอปที่มีคีย์ API ที่ได้รับอนุมัติเข้าถึง API ของคุณ นโยบายนี้ช่วยให้มั่นใจได้ว่าคีย์ API จะใช้งานได้ ไม่ถูกเพิกถอน และได้รับอนุมัติให้ใช้ทรัพยากรที่เฉพาะเจาะจงซึ่งเชื่อมโยงกับผลิตภัณฑ์ API ของคุณ
ตัวอย่าง
คีย์ในพารามิเตอร์การค้นหา
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.queryparam.apikey" /> </VerifyAPIKey>
ในตัวอย่างนี้ นโยบายคาดว่าจะพบคีย์ API ในตัวแปรโฟลว์ที่ชื่อ
request.queryparam.apikey
ตัวแปร request.queryparam.{name}
เป็นตัวแปรโฟลว์ Edge มาตรฐานที่ป้อนค่าของพารามิเตอร์การค้นหาที่ส่ง
ในคำขอของไคลเอ็นต์
คำสั่ง curl
ต่อไปนี้จะส่งคีย์ API ในพารามิเตอร์การค้นหา
curl http://myorg-test.apigee.net/mocktarget?apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls
คีย์ในส่วนหัว
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="request.header.x-apikey" /> </VerifyAPIKey>
ในตัวอย่างนี้ นโยบายคาดว่าจะพบคีย์ API ในตัวแปรโฟลว์ที่ชื่อ
request.header.x-apikey
ตัวแปร request.header.{name}
เป็นตัวแปรโฟลว์ Edge มาตรฐานที่สร้างขึ้นโดยมีค่าของส่วนหัวที่ส่งผ่าน
ในคำขอของไคลเอ็นต์
cURL ต่อไปนี้แสดงวิธีส่งคีย์ API ในส่วนหัว
curl "http://myorg-test.apigee.net/mocktarget" -H "x-apikey:IEYRtW2cb7A5Gs54A1wKElECBL65GVls"
คีย์ในตัวแปร
<VerifyAPIKey name="APIKeyVerifier"> <APIKey ref="requestAPIKey.key"/> </VerifyAPIKey>
นโยบายสามารถอ้างอิงตัวแปรใดก็ได้ที่มีคีย์ นโยบายในตัวอย่างนี้ จะดึงคีย์ API จากตัวแปรชื่อ requestAPIKey.key
คุณเป็นผู้กำหนดวิธีป้อนข้อมูลตัวแปรนั้น ตัวอย่างเช่น คุณสามารถใช้นโยบาย Extract Variables เพื่อป้อนข้อมูล 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 จะสร้างตัวแปรโฟลว์ชุดหนึ่งโดยอัตโนมัติเมื่อเรียกใช้นโยบาย Verify API Key สำหรับคีย์ API ที่ถูกต้อง คุณใช้ตัวแปรเหล่านี้เพื่อเข้าถึงข้อมูลต่างๆ เช่น ชื่อแอป รหัสแอป และข้อมูลเกี่ยวกับนักพัฒนาแอปหรือบริษัทที่ลงทะเบียนแอปได้ ในตัวอย่างด้านบน คุณใช้นโยบายกำหนดข้อความเพื่อเข้าถึงชื่อ นามสกุล และอีเมลของนักพัฒนาแอปหลังจากที่ดำเนินการคีย์ API ที่ยืนยันแล้ว
ตัวแปรเหล่านี้ทั้งหมดมีคำนำหน้าดังนี้
verifyapikey.{policy_name}
ในตัวอย่างนี้ ชื่อนโยบายคีย์ API ที่ยืนยันคือ "verify-api-key" ดังนั้น คุณจึงอ้างอิง
ชื่อแรกของนักพัฒนาแอปที่ส่งคำขอโดยเข้าถึงตัวแปร verifyapikey.verify-api-key.developer.firstName.
เรียนรู้เกี่ยวกับ Edge
เกี่ยวกับนโยบาย "ยืนยันคีย์ API"
เมื่อนักพัฒนาแอปจดทะเบียนแอปใน Edge ระบบจะสร้างคู่คีย์ผู้ใช้และข้อมูลลับโดยอัตโนมัติ คุณดูคู่คีย์และข้อมูลลับของผู้บริโภคของแอปได้ใน UI ของ Edge หรือเข้าถึงได้จาก Edge API
ขณะลงทะเบียนแอป นักพัฒนาแอปจะเลือกผลิตภัณฑ์ API อย่างน้อย 1 รายการเพื่อ เชื่อมโยงกับแอป โดยผลิตภัณฑ์ API คือชุดทรัพยากร ที่เข้าถึงได้ผ่านพร็อกซี API จากนั้นนักพัฒนาซอฟต์แวร์จะส่งคีย์ API (คีย์ผู้ใช้) เป็นส่วนหนึ่งของ คำขอทุกรายการไปยัง API ในผลิตภัณฑ์ API ที่เชื่อมโยงกับแอป ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมการเผยแพร่
คีย์ API สามารถใช้เป็นโทเค็นการตรวจสอบสิทธิ์ หรือใช้เพื่อรับโทเค็นเพื่อการเข้าถึง OAuth ได้ ใน OAuth คีย์ API จะเรียกว่า "รหัสไคลเอ็นต์" โดยใช้ชื่อแทนกันได้ ดูข้อมูลเพิ่มเติมได้ที่หน้าแรกของ OAuth
Edge จะสร้างชุดตัวแปรโฟลว์โดยอัตโนมัติเมื่อดำเนินการตามนโยบาย Verify API Key ดูข้อมูลเพิ่มเติมได้ที่ตัวแปรโฟลว์ด้านล่าง
การอ้างอิงองค์ประกอบ
ต่อไปนี้คือองค์ประกอบและแอตทริบิวต์ที่คุณกำหนดค่าในนโยบายนี้ได้
<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 |
ตั้งค่าเป็น ตั้งค่าเป็น |
เท็จ | ไม่บังคับ |
enabled |
ตั้งค่าเป็น ตั้งค่าเป็น |
จริง | ไม่บังคับ |
async |
แอตทริบิวต์นี้เลิกใช้งานแล้ว |
เท็จ | เลิกใช้ |
<DisplayName> องค์ประกอบ
ใช้เพิ่มเติมจากแอตทริบิวต์ name
เพื่อติดป้ายกำกับนโยบายใน
เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน
<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น |
ไม่มี หากไม่ใส่องค์ประกอบนี้ ค่าของแอตทริบิวต์ |
---|---|
การมีบุคคลอยู่ | ไม่บังคับ |
ประเภท | สตริง |
องค์ประกอบ <APIKey>
องค์ประกอบนี้ระบุตัวแปรโฟลว์ที่มีคีย์ API โดยปกติแล้ว ไคลเอ็นต์จะส่งคีย์ API
ในพารามิเตอร์การค้นหา ส่วนหัว HTTP หรือพารามิเตอร์แบบฟอร์ม เช่น หากส่งคีย์ในส่วนหัว
ที่ชื่อ x-apikey
ระบบจะพบคีย์ในตัวแปร request.header.x-apikey
ค่าเริ่มต้น | NA |
---|---|
การมีบุคคลอยู่ | จำเป็น |
ประเภท | สตริง |
Attributes
ตารางต่อไปนี้จะอธิบายแอตทริบิวต์ขององค์ประกอบ <APIKey>
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
---|---|---|---|
ref |
การอ้างอิงถึงตัวแปรที่มีคีย์ API อนุญาตให้มีตำแหน่งได้เพียง 1 แห่ง ต่อนโยบาย |
ไม่มี | จำเป็น |
ตัวอย่าง
ในตัวอย่างเหล่านี้ ระบบจะส่งคีย์ในพารามิเตอร์และส่วนหัวที่ชื่อ 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 ที่ถูกต้อง Edge จะสร้างชุดตัวแปรโฟลว์ ตัวแปรเหล่านี้พร้อมใช้งานกับนโยบายหรือโค้ดที่ดำเนินการในภายหลังในโฟลว์ และมักใช้เพื่อดำเนินการประมวลผลที่กำหนดเองตามแอตทริบิวต์ของคีย์ API เช่น ชื่อแอป ผลิตภัณฑ์ API ที่ใช้เพื่อให้สิทธิ์คีย์ หรือแอตทริบิวต์ที่กำหนดเองของคีย์ API
นโยบายจะสร้างตัวแปรโฟลว์หลายประเภท ซึ่งรวมถึง
- ทั่วไป
- แอป
- นักพัฒนาซอฟต์แวร์
- บริษัท
- Analytics
ตัวแปรโฟลว์แต่ละประเภทมีคำนำหน้าที่แตกต่างกัน ตัวแปรทั้งหมดเป็นสเกลาร์ ยกเว้นตัวแปรที่ระบุว่าเป็นอาร์เรย์โดยเฉพาะ
ตัวแปรโฟลว์ทั่วไป
ตารางต่อไปนี้แสดงตัวแปรโฟลว์ทั่วไปที่นโยบายตรวจสอบคีย์ API จะสร้างขึ้น ตัวแปรเหล่านี้ทั้งหมดมีคำนำหน้าดังนี้
verifyapikey.{policy_name}
เช่น verifyapikey.{policy_name}.client_id
ตัวแปรที่ใช้ได้มีดังนี้
ตัวแปร | คำอธิบาย |
---|---|
client_id |
คีย์ผู้ใช้ (หรือที่เรียกว่าคีย์ API หรือคีย์แอป) ที่แอปที่ขอระบุ |
client_secret |
ข้อมูลลับของผู้บริโภคที่เชื่อมโยงกับคีย์ของผู้บริโภค |
redirection_uris |
URI การเปลี่ยนเส้นทางในคำขอ |
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 ได้ที่การใช้ Edge
Management 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 |
สถานะของนักพัฒนาแอปเป็น active, inactive หรือ login_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 |
สถานะของเจ้าของแอปเป็น active, inactive หรือ login_lock
|
created_at |
การประทับวันที่/เวลาที่สร้างบริษัท |
created_by |
อีเมลของผู้ใช้ที่สร้างบริษัท |
last_modified_at |
การประทับวันที่/เวลาที่มีการแก้ไขบริษัทครั้งล่าสุด |
last_modified_by |
อีเมลของผู้ใช้ที่แก้ไขบริษัทล่าสุด |
{company_custom_attributes} |
แอตทริบิวต์บริษัทที่กำหนดเอง ระบุชื่อของแอตทริบิวต์ที่กำหนดเอง |
ตัวแปร Analytics
ระบบจะป้อนค่าตัวแปรต่อไปนี้ใน Analytics โดยอัตโนมัติเมื่อมีการบังคับใช้นโยบายยืนยันคีย์ API สำหรับคีย์ API ที่ถูกต้อง ตัวแปรเหล่านี้จะสร้างขึ้นโดยนโยบาย "ยืนยันคีย์ API" และนโยบาย OAuth เท่านั้น
คุณสามารถใช้ตัวแปรและค่าเป็นมิติข้อมูลเพื่อสร้างรายงาน Analytics เพื่อให้ทราบ รูปแบบการใช้งานของนักพัฒนาแอปและแอป
- apiproduct.name
- developer.app.name
- client_id
- developer.id
ข้อมูลอ้างอิงข้อผิดพลาด
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | บริษัทที่เชื่อมโยงกับแอปนักพัฒนาซอฟต์แวร์ที่มีคีย์ API ที่คุณใช้อยู่มี สถานะไม่ใช้งาน เมื่อสถานะของบริษัทถูกตั้งค่าเป็นไม่ทำงาน คุณจะไม่สามารถเข้าถึง หรือแอปที่เชื่อมโยงกับบริษัทนั้น ผู้ดูแลระบบองค์กรสามารถเปลี่ยนสถานะของบริษัทได้ โดยใช้ Management API โปรดดูที่ตั้งค่าสถานะ ของบริษัท |
keymanagement.service.DeveloperStatusNotActive |
401 |
นักพัฒนาซอฟต์แวร์ที่สร้างแอปนักพัฒนาซอฟต์แวร์ซึ่งมีคีย์ API ที่คุณใช้อยู่ สถานะไม่ทำงาน เมื่อตั้งค่าสถานะนักพัฒนาแอปเป็นไม่ได้ใช้งาน แอปนักพัฒนาซอฟต์แวร์แอปใดก็ตาม ที่นักพัฒนาซอฟต์แวร์ดังกล่าวสร้างขึ้นจะถูกปิดใช้งาน ผู้ใช้ที่ดูแลระบบที่มีสิทธิ์ที่เหมาะสม (เช่น ผู้ดูแลระบบองค์กร) สามารถเปลี่ยนสถานะของนักพัฒนาซอฟต์แวร์ได้ดังนี้ ด้วยวิธีต่อไปนี้
|
keymanagement.service.invalid_client-app_not_approved |
401 | แอปนักพัฒนาซอฟต์แวร์ที่เชื่อมโยงกับคีย์ API ถูกเพิกถอนแล้ว แอปที่ถูกเพิกถอนไม่สามารถ เข้าถึงผลิตภัณฑ์ API และเรียกใช้ API ที่จัดการโดย Apigee Edge ไม่ได้ ผู้ดูแลระบบองค์กรสามารถทำสิ่งต่อไปนี้ เปลี่ยนสถานะของแอปนักพัฒนาซอฟต์แวร์โดยใช้ API การจัดการ โปรดดู อนุมัติหรือเพิกถอนแอปนักพัฒนาซอฟต์แวร์ |
oauth.v2.FailedToResolveAPIKey |
401 | นโยบายนี้คาดว่าจะพบคีย์ API ในตัวแปรที่ระบุไว้ในส่วน <APIKey> องค์ประกอบ ข้อผิดพลาดนี้จะเกิดขึ้นเมื่อ ไม่มีตัวแปรอยู่ (แก้ไขไม่ได้) |
oauth.v2.InvalidApiKey |
401 | Edge ได้รับคีย์ API แล้ว แต่คีย์ไม่ถูกต้อง เมื่อ Edge ค้นหาคีย์ใน ฐานข้อมูลนั้นต้องตรงกับ ชื่อ ที่ส่งไปในคำขอทุกประการ กรณีที่ API ใช้งานได้ ให้ตรวจดูว่าไม่ได้สร้างคีย์ใหม่ หากมีการสร้างคีย์ใหม่ คุณจะเห็น ข้อผิดพลาดนี้หากคุณพยายามใช้คีย์เก่า โปรดดูรายละเอียดที่หัวข้อลงทะเบียนแอปและจัดการ API |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Edge ได้รับคีย์ API แล้ว และคีย์ดังกล่าวถูกต้อง แต่ไม่ตรงกับ คีย์ที่ได้รับการอนุมัติในแอปนักพัฒนาซอฟต์แวร์ที่เชื่อมโยงกับพร็อกซี API ของคุณผ่านผลิตภัณฑ์ |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ |
---|---|
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>