คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
อะไร
รับแอตทริบิวต์ของโทเค็นเพื่อการเข้าถึง โทเค็นการรีเฟรช รหัสการให้สิทธิ์ และแอตทริบิวต์แอปไคลเอ็นต์ และเติมค่าตัวแปรด้วยค่าของแอตทริบิวต์เหล่านั้น
นโยบายนี้มีประโยชน์เมื่อคุณต้องกำหนดค่าลักษณะการทำงานแบบไดนามิกแบบมีเงื่อนไขตามค่าในโทเค็นหรือรหัสการให้สิทธิ์ เมื่อใดก็ตามที่มีการตรวจสอบโทเค็น ระบบจะเติมค่าตัวแปรโดยอัตโนมัติด้วยค่าของแอตทริบิวต์โทเค็น อย่างไรก็ตาม ในกรณีที่ยังไม่ได้ตรวจสอบโทเค็น คุณสามารถใช้ฟีเจอร์นี้เพื่อเติมค่าตัวแปรอย่างชัดแจ้งด้วยค่าแอตทริบิวต์ของโทเค็น ดูการปรับแต่งโทเค็นและรหัสการให้สิทธิ์เพิ่มเติม
โทเค็นเพื่อการเข้าถึงที่คุณส่งไปยังนโยบายนี้ต้องเป็นโทเค็นที่ถูกต้อง มิเช่นนั้นนโยบายจะแสดงข้อผิดพลาด invalid_access_token
ลองฟัง
ตัวอย่างต่อไปนี้ใช้นโยบาย "รับข้อมูล OAuth V2" เพื่อดึงข้อมูลเกี่ยวกับคอมโพเนนต์ต่างๆ ของเวิร์กโฟลว์ 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
ตัวอย่างนี้แสดงวิธีดึงข้อมูลเกี่ยวกับแอปไคลเอ็นต์โดยใช้รหัสไคลเอ็นต์
เมื่อมีการดำเนินการ นโยบายจะเติมข้อมูลชุดตัวแปรที่มีข้อมูลไคลเอ็นต์ ในกรณีนี้ นโยบายคาดว่าจะพบรหัสไคลเอ็นต์ในพารามิเตอร์การค้นหาที่ชื่อว่า 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 |
ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ (ไม่บังคับ) ใช้องค์ประกอบ |
ไม่มีข้อมูล | จำเป็น |
continueOnError |
ตั้งค่าเป็น ตั้งค่าเป็น |
false | ไม่บังคับ |
enabled |
ตั้งค่าเป็น ตั้งค่าเป็น |
จริง | ไม่บังคับ |
async |
แอตทริบิวต์นี้เลิกใช้งานแล้ว |
false | เลิกใช้ |
องค์ประกอบ <DisplayName>
ใช้เพิ่มเติมจากแอตทริบิวต์ name
เพื่อติดป้ายกำกับนโยบายในเครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติที่แตกต่างออกไป
<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น |
ไม่มีข้อมูล หากคุณไม่ใส่องค์ประกอบนี้ ระบบจะใช้ค่าของแอตทริบิวต์ |
---|---|
การมีบุคคลอยู่ | ไม่บังคับ |
Type | สตริง |
องค์ประกอบ <AccessToken>
เรียกโปรไฟล์สําหรับโทเค็นเพื่อการเข้าถึง โดยส่งผ่านตัวแปรที่มีสตริงโทเค็นเพื่อการเข้าถึงหรือสตริงโทเค็นตรง (ไม่ใช่กรณีที่พบได้) ในตัวอย่างนี้ โทเค็นเพื่อการเข้าถึงจะดึงมาจากพารามิเตอร์การค้นหาที่ส่งผ่านในคำขอ ใช้องค์ประกอบ < ignoreAccessTokenStatus> หากต้องการส่งคืนข้อมูลสําหรับโทเค็นที่ถูกเพิกถอนหรือหมดอายุ
<AccessToken ref="request.queryparam.access_token"></AccessToken>
ค่าเริ่มต้น: |
request.formparam.access_token (ไฟล์ x-www-form-urlencrypted และระบุไว้ในเนื้อหาของคำขอ) |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: | สตริง |
ค่าที่ถูกต้องมีดังนี้ |
ตัวแปรโฟลว์ที่มีสตริงโทเค็นเพื่อการเข้าถึงหรือสตริงตามตัวอักษร |
องค์ประกอบ <AuthorizationCode>
เรียกโปรไฟล์สำหรับรหัสการให้สิทธิ์ คุณจะส่งผ่านตัวแปรที่มีสตริงรหัสการให้สิทธิ์หรือสตริงโทเค็นตรง (ไม่ใช่กรณีทั่วไป) ก็ได้ ในตัวอย่างนี้ ระบบจะดึงรหัสการให้สิทธิ์จากพารามิเตอร์การค้นหาที่ส่งในคำขอ ดูรายการตัวแปรที่มีการป้อนข้อมูลโดยการดำเนินการนี้ได้ที่ "ตัวแปรโฟลว์"
<AuthorizationCode ref="request.queryparam.authorization_code"></AuthorizationCode>
ค่าเริ่มต้น: |
request.formparam.access_token (ไฟล์ x-www-form-urlencrypted และระบุไว้ในเนื้อหาของคำขอ) |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: | สตริง |
ค่าที่ถูกต้องมีดังนี้ |
ตัวแปรโฟลว์ที่มีสตริงรหัสการให้สิทธิ์หรือสตริงตามตัวอักษร |
องค์ประกอบ <ClientId>
เรียกข้อมูลที่เกี่ยวข้องกับรหัสไคลเอ็นต์ ในตัวอย่างนี้ ระบบจะดึงรหัสไคลเอ็นต์จากพารามิเตอร์การค้นหาที่ส่งผ่านในคำขอ ดูรายการตัวแปรที่มีการป้อนข้อมูลโดยการดำเนินการนี้ได้ที่ "ตัวแปรโฟลว์"
<ClientId ref="request.queryparam.client_id"></ClientId>
ค่าเริ่มต้น: |
request.formparam.access_token (ไฟล์ x-www-form-urlencrypted และระบุไว้ในเนื้อหาของคำขอ) |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: | สตริง |
ค่าที่ถูกต้องมีดังนี้ | ตัวแปรโฟลว์ที่มีสตริงรหัสการให้สิทธิ์หรือสตริงตามตัวอักษร |
องค์ประกอบ <ignoreAccessTokenStatus>
แสดงผลข้อมูลโทเค็นแม้ว่าโทเค็นจะหมดอายุหรือถูกเพิกถอน องค์ประกอบนี้ใช้ได้กับโทเค็นเพื่อการเข้าถึงเท่านั้น โดยค่าเริ่มต้น ข้อมูลสำหรับเอนทิตีอื่นๆ เช่น โทเค็นการรีเฟรชและรหัสการให้สิทธิ์จะส่งคืนไม่ว่าสถานะของเอนทิตีนั้นๆ จะเป็นอย่างไรก็ตาม
<IgnoreAccessTokenStatus>true</IgnoreAccessTokenStatus>
ค่าเริ่มต้น: |
false |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: | บูลีน |
ค่าที่ถูกต้องมีดังนี้ | จริงหรือเท็จ |
องค์ประกอบ <RefreshToken>
เรียกโปรไฟล์สำหรับโทเค็นการรีเฟรช โดยส่งผ่านตัวแปรที่มีสตริงโทเค็นการรีเฟรชหรือสตริงโทเค็นตรง (ไม่ใช่กรณีทั่วไป) ในตัวอย่างนี้ โทเค็นการรีเฟรชจะดึงมาจากพารามิเตอร์การค้นหาที่ส่งผ่านในคำขอ ดูรายการตัวแปรที่มีการป้อนข้อมูลโดยการดำเนินการนี้ได้ที่ "ตัวแปรโฟลว์"
<RefreshToken ref="request.queryparam.refresh_token"></RefreshToken>
ค่าเริ่มต้น: |
request.formparam.access_token (ไฟล์ x-www-form-urlencrypted และระบุไว้ในเนื้อหาของคำขอ) |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: | สตริง |
ค่าที่ถูกต้องมีดังนี้ |
ตัวแปรโฟลว์ที่มีสตริงโทเค็นการรีเฟรชหรือสตริงตามตัวอักษร |
ตัวแปรโฟลว์
นโยบาย GetOAuthV2Info จะป้อนข้อมูลตัวแปรเหล่านี้ และโดยปกติจะใช้ในกรณีที่คุณต้องการข้อมูลโปรไฟล์ แต่ยังไม่มีการให้สิทธิ์หรือการตรวจสอบ
ตัวแปรรหัสไคลเอ็นต์
ระบบจะป้อนข้อมูลตัวแปรเหล่านี้เมื่อตั้งค่าองค์ประกอบ 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
เมื่อเกิดข้อผิดพลาด ดูรายละเอียดเพิ่มเติมได้ที่ส่วนตัวแปรของ Fault ด้านล่าง
รหัสข้อผิดพลาด | สถานะ 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>