รับนโยบาย OAuthV2Info

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

อะไร

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

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

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

ตัวอย่าง

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

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

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

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

<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> ใน

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

<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

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

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

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

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

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

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

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

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

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

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

เท็จ เลิกใช้

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

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

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

ไม่มี

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

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

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

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

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

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

request.formparam.access_token (x-www-form-url encrypted และระบุไว้ในคำขอ เนื้อความ)

การตรวจหาบุคคล:

ไม่บังคับ

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

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


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

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

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

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

request.formparam.access_token (x-www-form-url encrypted และระบุไว้ในคำขอ เนื้อความ)

การตรวจหาบุคคล:

ไม่บังคับ

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

ตัวแปรโฟลว์ที่มีสตริงรหัสการตรวจสอบสิทธิ์หรือสตริงลิเทอรัล

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

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

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

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

request.formparam.access_token (x-www-form-url encrypted และระบุไว้ในคำขอ เนื้อความ)

การตรวจหาบุคคล:

ไม่บังคับ

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

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

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

<IgnoreAccessTokenStatus>true</IgnoreAccessTokenStatus>

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

เท็จ

การตรวจหาบุคคล:

ไม่บังคับ

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

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

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

<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>

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