รับนโยบาย OAuthV2Info

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

อะไร

รับแอตทริบิวต์ของโทเค็นเพื่อการเข้าถึง โทเค็นการรีเฟรช รหัสการให้สิทธิ์ และแอตทริบิวต์ของแอปไคลเอ็นต์ และป้อนค่าของแอตทริบิวต์เหล่านั้นลงในตัวแปร

นโยบายนี้มีประโยชน์เมื่อคุณต้องการกำหนดค่าลักษณะการทำงานแบบมีเงื่อนไขแบบไดนามิกตามค่า ในโทเค็นหรือรหัสการให้สิทธิ์ ทุกครั้งที่มีการตรวจสอบโทเค็น ระบบจะป้อนค่าแอตทริบิวต์โทเค็นลงในตัวแปรโดยอัตโนมัติ อย่างไรก็ตาม ในกรณีที่ไม่มีการตรวจสอบโทเค็น คุณสามารถใช้ฟีเจอร์นี้เพื่อป้อนข้อมูลตัวแปรอย่างชัดเจนด้วยค่าแอตทริบิวต์ของโทเค็น ดูเพิ่มเติมที่ การปรับแต่งโทเค็นและ รหัสการให้สิทธิ์

โทเค็นเพื่อการเข้าถึงที่คุณส่งไปยังนโยบายนี้ต้องถูกต้อง มิเช่นนั้นนโยบายจะแสดงข้อผิดพลาด invalid_access_token

ตัวอย่าง

ตัวอย่างต่อไปนี้ใช้นโยบาย Get OAuth V2 Info เพื่อดึงข้อมูลเกี่ยวกับคอมโพเนนต์ต่างๆ ของเวิร์กโฟลว์ OAuth2 จากนั้นจึงเข้าถึงข้อมูลดังกล่าวภายในโค้ด

โทเค็นเพื่อการเข้าถึง

หากต้องการรับข้อมูลอ้างอิงถึงโทเค็นเพื่อการเข้าถึง ให้ใช้องค์ประกอบ <AccessToken> ในนโยบาย ของคุณ

ตัวอย่างต่อไปนี้คาดว่าจะพบโทเค็นการเข้าถึงในพารามิเตอร์การค้นหาชื่อ "access_token" (รายละเอียดการติดตั้งใช้งานจริงขึ้นอยู่กับคุณ):

<GetOAuthV2Info name="MyTokenAttrsPolicy">
  <AccessToken ref="request.queryparam.access_token"></AccessToken>
</GetOAuthV2Info>

เมื่อได้รับโทเค็นเพื่อการเข้าถึงแล้ว นโยบายจะค้นหาโปรไฟล์ของโทเค็นและป้อนชุดตัวแปร ด้วยข้อมูลโปรไฟล์

จากนั้นคุณจะเข้าถึงตัวแปรได้โดยใช้ JavaScript หรือวิธีอื่นๆ ตัวอย่างต่อไปนี้ ดึงขอบเขตที่เชื่อมโยงกับโทเค็นเพื่อการเข้าถึงโดยใช้ JavaScript

var scope = context.getVariable('oauthv2accesstoken.MyTokenAttrsPolicy.scope');

โปรดทราบว่าหากต้องการเข้าถึงตัวแปรเหล่านั้นในโค้ด คุณต้องนำหน้าตัวแปรด้วย "oauthv2accesstoken" ดูรายการตัวแปรทั้งหมดที่พร้อมใช้งานผ่านโทเค็นเพื่อการเข้าถึงได้ที่ ตัวแปรโทเค็นเพื่อการเข้าถึง

รหัสการตรวจสอบสิทธิ์

หากต้องการรับแอตทริบิวต์รหัสการให้สิทธิ์ ให้ใช้องค์ประกอบ <AuthorizationCode> ในนโยบาย

ตัวอย่างต่อไปนี้คาดว่าจะพบโทเค็นการเข้าถึงในพารามิเตอร์แบบฟอร์ม ชื่อ "code" (รายละเอียดการใช้งานจริงขึ้นอยู่กับคุณ)

<GetOAuthV2Info name="MyAuthCodeAttrsPolicy">
  <AuthorizationCode ref="request.formparam.code"></AuthorizationCode>
</GetOAuthV2Info>

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

จากนั้นคุณจะเข้าถึงตัวแปรได้โดยใช้ JavaScript หรือวิธีอื่นๆ ตัวอย่างต่อไปนี้ ดึงแอตทริบิวต์ที่กำหนดเองซึ่งเชื่อมโยงกับรหัสการให้สิทธิ์โดยใช้ JavaScript

var attr = context.getVariable(oauthv2authcode.MyAuthCodeAttrsPolicy.custom_attribute_name);

โปรดทราบว่าหากต้องการเข้าถึงตัวแปรเหล่านั้นในโค้ด คุณต้องนำหน้าด้วย "oauthv2authcode" ดูรายการตัวแปรทั้งหมดที่ใช้ได้ผ่านรหัสการให้สิทธิ์ได้ที่ ตัวแปรของรหัสการให้สิทธิ์

โทเค็นการรีเฟรช

หากต้องการรับแอตทริบิวต์โทเค็นการรีเฟรช ให้ใช้องค์ประกอบ <RefreshToken> ในนโยบาย

ตัวอย่างต่อไปนี้คาดว่าจะพบโทเค็นเพื่อการเข้าถึงในพารามิเตอร์การค้นหาชื่อ "refresh_token" (รายละเอียดการติดตั้งใช้งานจริงขึ้นอยู่กับคุณ):

<GetOAuthV2Info name="MyRefreshTokenAttrsPolicy">
  <RefreshToken ref="request.queryparam.refresh_token"/>
</GetOAuthV2Info>

เมื่อได้รับโทเค็นการรีเฟรช นโยบายจะค้นหาข้อมูลของโทเค็นการรีเฟรชและป้อนชุดตัวแปรด้วยข้อมูลโทเค็นการรีเฟรช

จากนั้นคุณจะเข้าถึงตัวแปรเหล่านั้นได้โดยใช้ JavaScript หรือวิธีอื่นๆ ตัวอย่างต่อไปนี้ ดึงแอตทริบิวต์ที่กำหนดเองซึ่งเชื่อมโยงกับโทเค็นการรีเฟรชโดยใช้ JavaScript

var attr = context.getVariable(oauthv2refreshtoken.MyRefreshTokenAttrsPolicy.accesstoken.custom_attribute_name);

โปรดทราบว่าหากต้องการเข้าถึงตัวแปรในโค้ด คุณต้องนำหน้าตัวแปรด้วย "oauthv2refreshtoken" ดูรายการตัวแปรทั้งหมดที่ใช้ได้ผ่านโทเค็นการรีเฟรชได้ที่ ตัวแปรโทเค็นการรีเฟรช

คงที่

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

<GetOAuthV2Info name="GetTokenAttributes">
  <AccessToken>shTUmeI1geSKin0TODcGLXBNe9vp</AccessToken>
</GetOAuthV2Info>

คุณทำเช่นนี้กับโทเค็นประเภทอื่นๆ ทั้งหมด (รหัสไคลเอ็นต์ รหัสการให้สิทธิ์ และโทเค็นการรีเฟรช) ได้ด้วย

รหัสลูกค้า

ตัวอย่างนี้แสดงวิธีดึงข้อมูลเกี่ยวกับแอปไคลเอ็นต์โดยใช้รหัสไคลเอ็นต์ เมื่อดำเนินการ นโยบายจะป้อนข้อมูลไคลเอ็นต์ลงในชุดตัวแปร ในกรณีนี้ นโยบายคาดหวังว่าจะพบรหัสไคลเอ็นต์ในพารามิเตอร์การค้นหาที่ชื่อ client_id เมื่อระบุรหัสไคลเอ็นต์แล้ว นโยบายจะค้นหาโปรไฟล์ของไคลเอ็นต์ และป้อนข้อมูลโปรไฟล์ลงในชุดตัวแปร ตัวแปรจะมีคำนำหน้าเป็น oauthv2client.

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId ref="request.queryparam.client_id"></ClientId>
</GetOAuthV2Info>

จากนั้นคุณจะเข้าถึงตัวแปรได้โดยใช้ JavaScript หรือวิธีอื่นๆ ตัวอย่างเช่น หากต้องการรับ ชื่อแอปของนักพัฒนาแอปและอีเมลของนักพัฒนาแอปที่เชื่อมโยงกับแอปไคลเอ็นต์โดยใช้ JavaScript ให้ทำดังนี้

context.getVariable("oauthv2client.GetClientAttributes.developer.email");
context.getVariable("oauthv2client.GetClientAttributes.developer.app.name");

การอ้างอิงองค์ประกอบ

การอ้างอิงองค์ประกอบจะอธิบายองค์ประกอบและแอตทริบิวต์ของนโยบาย GetOAuthV2Info

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GetOAuthV2Info async="false" continueOnError="false" enabled="true" name="GetOAuthV2Info-1"
    <DisplayName>Get OAuth v2.0 Info 1</DisplayName>
    <AccessToken ref="variable"></AccessToken>
    <AuthorizationCode ref="variable"></AuthorizationCode>
    <ClientId ref="variable"></ClientId>
    <RefreshToken ref="variable"></RefreshToken>
</GetOAuthV2Info>

แอตทริบิวต์ <GetOAuthV2Info>

<GetOAuthV2Info async="false" continueOnError="false" enabled="true" name="Get-OAuth-v20-Info-1">

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

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

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

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

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

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

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

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

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

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

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

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

เท็จ เลิกใช้

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

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

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

ไม่มี

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

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

องค์ประกอบ <AccessToken>

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

<AccessToken ref="request.queryparam.access_token"></AccessToken>

ค่าเริ่มต้น:

request.formparam.access_token (x-www-form-urlencoded และระบุในคำขอ เนื้อหา)

การแสดงตน:

ไม่บังคับ

ประเภท: สตริง
ค่าที่ใช้ได้

ตัวแปรโฟลว์ที่มีสตริงโทเค็นเพื่อการเข้าถึง หรือสตริงตัวอักษร


องค์ประกอบ <AuthorizationCode>

เรียกข้อมูลโปรไฟล์สำหรับรหัสการให้สิทธิ์ คุณส่งตัวแปรที่มีสตริงรหัสการให้สิทธิ์หรือสตริงโทเค็นแบบอักษร (กรณีที่พบได้ยาก) ในตัวอย่างนี้ ระบบจะดึงรหัสการให้สิทธิ์จากพารามิเตอร์การค้นหาที่ส่งในคำขอ ดูรายการตัวแปรที่การดำเนินการนี้สร้างขึ้นได้ที่ "ตัวแปรโฟลว์"

<AuthorizationCode ref="request.queryparam.authorization_code"></AuthorizationCode>

ค่าเริ่มต้น:

request.formparam.access_token (x-www-form-urlencoded และระบุในคำขอ เนื้อหา)

การแสดงตน:

ไม่บังคับ

ประเภท: สตริง
ค่าที่ใช้ได้

ตัวแปรโฟลว์ที่มีสตริงรหัสการให้สิทธิ์ หรือสตริงตามตัวอักษร

องค์ประกอบ <ClientId>

เรียกข้อมูลที่เกี่ยวข้องกับ Client ID ในตัวอย่างนี้ ระบบจะดึงรหัสไคลเอ็นต์ จากพารามิเตอร์การค้นหาที่ส่งในคำขอ ดูรายการตัวแปรที่การดำเนินการนี้สร้างขึ้นได้ที่ "ตัวแปรโฟลว์"

<ClientId ref="request.queryparam.client_id"></ClientId>

ค่าเริ่มต้น:

request.formparam.access_token (x-www-form-urlencoded และระบุในคำขอ เนื้อหา)

การแสดงตน:

ไม่บังคับ

ประเภท: สตริง
ค่าที่ใช้ได้ ตัวแปรโฟลว์ที่มีสตริงรหัสการให้สิทธิ์ หรือสตริงตามตัวอักษร

องค์ประกอบ <IgnoreAccessTokenStatus>

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

<IgnoreAccessTokenStatus>true</IgnoreAccessTokenStatus>

ค่าเริ่มต้น:

เท็จ

การแสดงตน:

ไม่บังคับ

ประเภท: บูลีน
ค่าที่ใช้ได้ จริงหรือเท็จ

องค์ประกอบ <RefreshToken>

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

<RefreshToken ref="request.queryparam.refresh_token"></RefreshToken>

ค่าเริ่มต้น:

request.formparam.access_token (x-www-form-urlencoded และระบุในคำขอ เนื้อหา)

การแสดงตน:

ไม่บังคับ

ประเภท: สตริง
ค่าที่ใช้ได้

ตัวแปรโฟลว์ที่มีสตริงโทเค็นการรีเฟรช หรือสตริงอักษร

ตัวแปรโฟลว์

นโยบาย GetOAuthV2Info จะสร้างตัวแปรเหล่านี้ และมักใช้ในกรณีที่คุณ ต้องการข้อมูลโปรไฟล์ แต่ยังไม่มีการให้สิทธิ์หรือการตรวจสอบ .

ตัวแปร Client ID

ระบบจะป้อนข้อมูลตัวแปรเหล่านี้เมื่อตั้งค่าองค์ประกอบ ClientId

oauthv2client.{policy_name}.client_id
oauthv2client.{policy_name}.client_secret
oauthv2client.{policy_name}.redirection_uris // Note the spelling -- 'redirection_uris'
oauthv2client.{policy_name}.developer.email
oauthv2client.{policy_name}.developer.app.name
oauthv2client.{policy_name}.developer.id
oauthv2client.{policy_name}.{developer_app_custom_attribute_name}

ตัวแปรโทเค็นเพื่อการเข้าถึง

ระบบจะป้อนข้อมูลตัวแปรเหล่านี้เมื่อตั้งค่าองค์ประกอบ AccessToken

oauthv2accesstoken.{policy_name}.developer.id
oauthv2accesstoken.{policy_name}.developer.app.name
oauthv2accesstoken.{policy_name}.developer.app.id
oauthv2accesstoken.{policy_name}.developer.email

oauthv2accesstoken.{policy_name}.organization_name
oauthv2accesstoken.{policy_name}.api_product_list

oauthv2accesstoken.{policy_name}.access_token
oauthv2accesstoken.{policy_name}.scope
oauthv2accesstoken.{policy_name}.expires_in //in seconds
oauthv2accesstoken.{policy_name}.status
oauthv2accesstoken.{policy_name}.client_id
oauthv2accesstoken.{policy_name}.accesstoken.{custom_attribute_name}

oauthv2accesstoken.{policy_name}.refresh_token
oauthv2accesstoken.{policy_name}.refresh_token_status
oauthv2accesstoken.{policy_name}.refresh_token_expires_in //in seconds

oauthv2accesstoken.{policy_name}.refresh_count
oauthv2accesstoken.{policy_name}.refresh_token_issued_at
oauthv2accesstoken.{policy_name}.revoke_reason //Apigee hybrid only with value of REVOKED_BY_APP, REVOKED_BY_ENDUSER, REVOKED_BY_APP_ENDUSER, or TOKEN_REVOKED

ตัวแปรของรหัสการให้สิทธิ์

ระบบจะป้อนข้อมูลตัวแปรเหล่านี้เมื่อตั้งค่าองค์ประกอบ AuthorizationCode

oauthv2authcode.{policy_name}.code
oauthv2authcode.{policy_name}.scope
oauthv2authcode.{policy_name}.redirect_uri
oauthv2authcode.{policy_name}.client_id
oauthv2authcode.{policy_name}.{auth_code_custom_attribute_name}

ตัวแปรโทเค็นการรีเฟรช

ระบบจะป้อนข้อมูลตัวแปรเหล่านี้เมื่อตั้งค่าองค์ประกอบ RefreshToken

oauthv2refreshtoken.{policy_name}.developer.id
oauthv2refreshtoken.{policy_name}.developer.app.name
oauthv2refreshtoken.{policy_name}.developer.app.id
oauthv2refreshtoken.{policy_name}.developer.email
oauthv2refreshtoken.{policy_name}.organization_name
oauthv2refreshtoken.{policy_name}.api_product_list

oauthv2refreshtoken.{policy_name}.access_token
oauthv2refreshtoken.{policy_name}.scope
oauthv2refreshtoken.{policy_name}.expires_in //in seconds

oauthv2refreshtoken.{policy_name}.status
oauthv2refreshtoken.{policy_name}.client_id
oauthv2refreshtoken.{policy_name}.accesstoken.{custom_attribute_name}

oauthv2refreshtoken.{policy_name}.refresh_token
oauthv2refreshtoken.{policy_name}.refresh_token_status
oauthv2refreshtoken.{policy_name}.refresh_token_expires_in //in seconds

oauthv2refreshtoken.{policy_name}.refresh_count
oauthv2refreshtoken.{policy_name}.refresh_token_issued_at
oauthv2refreshtoken.{policy_name}.revoke_reason //Apigee hybrid only with value of REVOKED_BY_APP, REVOKED_BY_ENDUSER, REVOKED_BY_APP_ENDUSER, or TOKEN_REVOKED

สคีมา

นโยบายแต่ละประเภทกำหนดโดยสคีมา XML (.xsd) โดยคุณดูสคีมานโยบาย ได้ใน GitHub

ข้อมูลอ้างอิงข้อผิดพลาด

ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด

ข้อผิดพลาดเกี่ยวกับรันไทม์

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน ชื่อข้อผิดพลาดที่แสดงด้านล่างคือสตริง ที่กำหนดให้กับตัวแปร fault.name เมื่อเกิดข้อผิดพลาด ดูรอยเลื่อน ตัวแปรด้านล่างเพื่อดูรายละเอียดเพิ่มเติม

รหัสข้อผิดพลาด สถานะ HTTP สาเหตุ
steps.oauth.v2.access_token_expired 500 โทเค็นเพื่อการเข้าถึงที่ส่งไปยังนโยบายหมดอายุแล้ว
steps.oauth.v2.authorization_code_expired 500 รหัสการให้สิทธิ์ที่ส่งไปยังนโยบายหมดอายุ
steps.oauth.v2.invalid_access_token 500 โทเค็นเพื่อการเข้าถึงที่ส่งไปยังนโยบายไม่ถูกต้อง
steps.oauth.v2.invalid_client-invalid_client_id 500 รหัสไคลเอ็นต์ที่ส่งไปยังนโยบายไม่ถูกต้อง
steps.oauth.v2.invalid_refresh_token 500 โทเค็นการรีเฟรชที่ส่งไปยังนโยบายไม่ถูกต้อง
steps.oauth.v2.invalid_request-authorization_code_invalid 500 รหัสการให้สิทธิ์ที่ส่งไปยังนโยบายไม่ถูกต้อง
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 โปรดดูที่ โพสต์ชุมชน Apigee นี้เพื่อดูข้อมูลเกี่ยวกับการแก้ปัญหาข้อผิดพลาดนี้
steps.oauth.v2.refresh_token_expired 500 โทเค็นการรีเฟรชที่ส่งไปยังนโยบายหมดอายุแล้ว

ข้อผิดพลาดในการทำให้ใช้งานได้

โปรดดูข้อมูลเกี่ยวกับข้อผิดพลาดในการทำให้ใช้งานได้จากข้อความที่รายงานใน UI

ตัวแปรความผิดพลาด

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

ตัวแปร สถานที่ ตัวอย่าง
fault.name="fault_name" fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด fault.name Matches "IPDeniedAccess"
oauthV2.policy_name.failed policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด oauthV2.GetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2.policy_name.fault.cause policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด oauthV2.GetTokenInfo.cause = ClientID is Invalid

ตัวอย่างการตอบสนองข้อผิดพลาด

{  
   "fault":{  
      "faultstring":"ClientId is Invalid",
      "detail":{  
         "errorcode":"keymanagement.service.invalid_client-invalid_client_id"
      }
   }
}

ตัวอย่างกฎข้อผิดพลาด

<FaultRule name="OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientIdResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>

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