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