นโยบาย VerificationAPIKey

คุณกำลังดูเอกสารประกอบของ 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

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

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

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

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

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

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

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

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

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

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

เท็จ เลิกใช้

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

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

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

ไม่มี

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

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

องค์ประกอบ <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 ในตัวแปรที่ระบุไว้ในส่วน &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>

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