นโยบาย VerificationAPIKey

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

อะไร

นโยบายคีย์ API ของ "ยืนยัน" จะให้คุณบังคับใช้การยืนยันคีย์ API ขณะรันไทม์ โดยจะอนุญาตเฉพาะ แอปที่มีคีย์ API ที่อนุมัติแล้วจะเข้าถึง API ของคุณ นโยบายนี้ช่วยให้แน่ใจว่าคีย์ API ถูกต้อง ไม่ได้ถูกเพิกถอน และได้รับอนุมัติให้ใช้ทรัพยากรเฉพาะที่เชื่อมโยงกับ API ของคุณ Google อีกด้วย

ตัวอย่าง

คีย์ในพารามิเตอร์การค้นหา

<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

วิธีป้อนข้อมูลตัวแปรนั้นจะขึ้นอยู่กับคุณ เช่น คุณสามารถใช้เครื่องมือแตกข้อมูล นโยบายตัวแปรที่จะป้อนข้อมูล 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 จะป้อนข้อมูลชุดตัวแปรโฟลว์โดยอัตโนมัติเมื่อเรียกใช้คีย์ API ยืนยัน นโยบายสำหรับคีย์ API ที่ถูกต้อง คุณใช้ตัวแปรเหล่านี้เพื่อเข้าถึงข้อมูลอย่างเช่นแอปได้ ชื่อ รหัสแอป และข้อมูลเกี่ยวกับนักพัฒนาแอปหรือบริษัทที่ลงทะเบียนแอป ใน จากตัวอย่างข้างต้น คุณใช้นโยบาย "มอบหมายข้อความ" เพื่อเข้าถึงชื่อและนามสกุลของนักพัฒนาซอฟต์แวร์ ชื่อและอีเมลหลังจากที่ "ยืนยันคีย์ API" ทำงาน

ตัวแปรเหล่านี้ทั้งหมดขึ้นต้นด้วย

verifyapikey.{policy_name}

ในตัวอย่างนี้ ชื่อนโยบายคีย์ Verify API คือ "verify-api-key" ดังนั้น คุณจึงอ้างอิง ชื่อของนักพัฒนาซอฟต์แวร์ที่ส่งคำขอโดยการเข้าถึง ตัวแปร verifyapikey.verify-api-key.developer.firstName.

เรียนรู้ Edge


เกี่ยวกับนโยบายคีย์ API การยืนยัน

เมื่อนักพัฒนาซอฟต์แวร์ลงทะเบียนแอปใน Edge แล้ว Edge จะสร้างคีย์ผู้บริโภคโดยอัตโนมัติ คู่ลับ คุณดูคู่คีย์และข้อมูลลับของผู้ใช้ของแอปได้ใน Edge UI หรือเข้าถึงคู่กัน จาก Edge API

ในขณะที่ลงทะเบียนแอป นักพัฒนาแอปจะเลือกผลิตภัณฑ์ API อย่างน้อย 1 รายการเพื่อ เชื่อมโยงกับแอป โดยที่ผลิตภัณฑ์ API คือชุด ทรัพยากร เข้าถึงได้ผ่านพร็อกซี API จากนั้นนักพัฒนาซอฟต์แวร์จะส่งคีย์ API (คีย์ผู้บริโภค) เป็นส่วนหนึ่งของ คำขอทุกรายการที่ส่งไปยัง API ในผลิตภัณฑ์ API ที่เชื่อมโยงกับแอป ดูข้อมูลเพิ่มเติมในภาพรวมการเผยแพร่

คีย์ API ใช้เป็นโทเค็นการตรวจสอบสิทธิ์ได้ หรือจะใช้เพื่อรับการเข้าถึง OAuth ก็ได้ โทเค็น ใน OAuth คีย์ API จะเรียกว่า "client id" ชื่อสามารถใช้แทนกันได้ โปรดดูข้อมูลเพิ่มเติมที่หน้าแรกของ OAuth

Edge จะป้อนข้อมูลชุดตัวแปรโฟลว์โดยอัตโนมัติเมื่อบังคับใช้นโยบาย "ยืนยันคีย์ 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>

&lt;VerifyAPIKey&gt; แอตทริบิวต์

ตัวอย่างต่อไปนี้แสดงแอตทริบิวต์ในแท็ก <VerifyAPIKey>

<VerifyAPIKey async="false" continueOnError="false" enabled="true" name="Verify-API-Key-1">

ตารางต่อไปนี้อธิบายแอตทริบิวต์ทั่วไปในองค์ประกอบระดับบนสุดของนโยบายทั้งหมด

แอตทริบิวต์ คำอธิบาย ค่าเริ่มต้น การมีบุคคลอยู่
name

ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ name สามารถ ประกอบด้วยตัวอักษร ตัวเลข การเว้นวรรค ขีดกลางสั้น ขีดล่าง และจุด ค่านี้ไม่สามารถ เกิน 255 อักขระ

(ไม่บังคับ) ใช้องค์ประกอบ <DisplayName> เพื่อติดป้ายกำกับนโยบายใน เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน

ไม่มี ต้องระบุ
continueOnError

ตั้งค่าเป็น false เพื่อแสดงผลข้อผิดพลาดเมื่อนโยบายล้มเหลว เป็นเรื่องปกติ พฤติกรรมสำหรับนโยบายส่วนใหญ่

ตั้งค่าเป็น true เพื่อให้ดำเนินการตามขั้นตอนได้อย่างต่อเนื่องแม้จะมีนโยบายแล้วก็ตาม ล้มเหลว

เท็จ ไม่บังคับ
enabled

ตั้งค่าเป็น true เพื่อบังคับใช้นโยบาย

ตั้งค่าเป็น false เพื่อปิดนโยบาย นโยบายจะไม่ บังคับใช้ แม้ว่าจะยังคงแนบกับขั้นตอน

จริง ไม่บังคับ
async

แอตทริบิวต์นี้เลิกใช้งานแล้ว

เท็จ เลิกใช้

&lt;DisplayName&gt; องค์ประกอบ

ใช้เพิ่มเติมจากแอตทริบิวต์ name เพื่อติดป้ายกำกับนโยบายใน เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน

<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น

ไม่มี

หากไม่ใส่องค์ประกอบนี้ ค่าของแอตทริบิวต์ name ของนโยบายจะเป็น

การมีบุคคลอยู่ ไม่บังคับ
ประเภท สตริง

&lt;APIKey&gt; องค์ประกอบ

องค์ประกอบนี้ระบุตัวแปรโฟลว์ที่มีคีย์ API โดยปกติแล้ว ไคลเอ็นต์จะส่งคีย์ API ในพารามิเตอร์การค้นหา ส่วนหัว HTTP หรือพารามิเตอร์แบบฟอร์ม เช่น หากส่งคีย์ในส่วนหัว ซึ่งเรียกว่า x-apikey คุณจะพบคีย์ในตัวแปร: request.header.x-apikey

ค่าเริ่มต้น NA
การมีบุคคลอยู่ ต้องระบุ
ประเภท สตริง

Attributes

ตารางต่อไปนี้อธิบายแอตทริบิวต์ขององค์ประกอบ <APIKey>

แอตทริบิวต์ คำอธิบาย ค่าเริ่มต้น การมีบุคคลอยู่
อ้างอิง

การอ้างอิงตัวแปรที่มีคีย์ API อนุญาตตำแหน่งเดียวเท่านั้น ต่อนโยบาย

ไม่มี ต้องระบุ

ตัวอย่าง

ในตัวอย่างเหล่านี้ ระบบจะส่งคีย์ในพารามิเตอร์และส่วนหัวที่ชื่อว่า 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 สถานะของนักพัฒนาแอปเป็น "ใช้งานอยู่" "ไม่ใช้งาน" หรือ "ล็อกอิน"
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 จะป้อนข้อมูลตัวแปรต่อไปนี้โดยอัตโนมัติเมื่อนโยบายคีย์ API ยืนยัน ถูกบังคับใช้กับคีย์ API ที่ถูกต้อง ระบบป้อนตัวแปรเหล่านี้โดยคีย์ API ของ "ยืนยัน" เท่านั้น นโยบาย OAuth และนโยบาย 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 ในตัวแปรที่ระบุไว้ในส่วน &lt;APIKey&gt; องค์ประกอบ ข้อผิดพลาดนี้จะเกิดขึ้นเมื่อ ไม่มีตัวแปรอยู่ (แก้ไขไม่ได้)
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>

หัวข้อที่เกี่ยวข้อง