คุณกำลังดูเอกสารประกอบของ 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 ไม่ได้ ผู้ดูแลระบบขององค์กรสามารถ เปลี่ยนสถานะของแอปนักพัฒนาซอฟต์แวร์ได้โดยใช้ Management 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>