คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
InvalidNameForAdditionalClaim
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Invalid name for additional claim : policy(policy_name) claim(claim_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากชื่อของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> เป็นชื่อที่จดทะเบียนชื่อใดชื่อหนึ่งต่อไปนี้
"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
การอ้างสิทธิ์ที่ลงทะเบียนแล้วจะระบุไว้ใน RFC7519
ตัวอย่างเช่น การใช้ชื่อการอ้างสิทธิ์ iss ใต้องค์ประกอบ <AdditionalClaims> จะทำให้เกิดข้อผิดพลาดนี้
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT และชื่อการอ้างสิทธิ์จากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256และชื่อการอ้างสิทธิ์คือissInvalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).ตรวจสอบว่าชื่อการอ้างสิทธิ์ที่ใช้ภายใต้องค์ประกอบ
<AdditionalClaims>ใน XML ของนโยบาย JWT ที่ล้มเหลว ตรงกับชื่อการอ้างสิทธิ์ที่ระบุในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 ตัวอย่างเช่น นโยบายต่อไปนี้ระบุการอ้างสิทธิ์เป็นissซึ่งตรงกับข้อความแสดงข้อผิดพลาด<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="iss"/> </AdditionalClaims> </VerifyJWT>หากชื่อการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย
<Claim>ขององค์ประกอบ<AdditionalClaims>เป็นชื่อที่จดทะเบียนชื่อใดชื่อหนึ่งต่อไปนี้"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
นั่นคือสาเหตุของข้อผิดพลาด
ในตัวอย่างนโยบาย "ยืนยัน JWT" ที่แสดงด้านบน ชื่อ
<Claim>ได้รับการระบุเป็นissในองค์ประกอบ<AdditionalClaims>ซึ่งทำให้เกิดข้อผิดพลาดขึ้นInvalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
ความละเอียด
อย่าใช้ชื่อที่จดทะเบียน "kid", "iss", "sub", "aud", "iat", "exp", "nbf" หรือ "jti" ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims>
ในการแก้ไขปัญหาของตัวอย่างนโยบาย "ยืนยัน JWT" ให้เปลี่ยนชื่อการอ้างสิทธิ์เป็น status ดังนี้
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
InvalidTypeForAdditionalClaim
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ประเภทของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ของนโยบาย VerifyJWT ไม่ใช่ประเภทใดประเภทหนึ่งต่อไปนี้
string (ค่าเริ่มต้น), number, boolean หรือ map
เช่น การใช้การอ้างสิทธิ์ประเภท integer ใต้องค์ประกอบ <AdditionalClaims> จะทำให้เกิดข้อผิดพลาด
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT, ชื่อการอ้างสิทธิ์ และประเภทการอ้างสิทธิ์จากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256, ชื่อการอ้างสิทธิ์คือclaimและประเภทคือinteger:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).ตรวจสอบว่าชื่อการอ้างสิทธิ์และประเภทที่ใช้ภายใต้องค์ประกอบ
<AdditionalClaims>ใน XML ของนโยบาย JWT ที่ล้มเหลว ตรงกับชื่อและประเภทการอ้างสิทธิ์ที่ระบุในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 ตัวอย่างเช่น นโยบายต่อไปนี้ระบุการอ้างสิทธิ์เป็นclaimและประเภทเป็นintegerซึ่งตรงกับข้อความแสดงข้อผิดพลาด<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </VerifyJWT>หากประเภทการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย
<Claim>ขององค์ประกอบ<AdditionalClaims>ไม่ใช่ประเภทต่อไปนี้string(ค่าเริ่มต้น),number,booleanหรือmapนั่นคือสาเหตุของข้อผิดพลาด
ในตัวอย่างนโยบาย "ยืนยัน JWT" ที่แสดงด้านบน ประเภท
<Claim>จะระบุเป็นintegerในองค์ประกอบ<AdditionalClaims>เนื่องจากintegerไม่ใช่ประเภทที่รองรับ คุณจึงได้รับข้อผิดพลาด:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
ความละเอียด
ตรวจสอบว่าใช้เฉพาะประเภทข้อมูลที่รองรับ string (ค่าเริ่มต้น), number, boolean หรือ map ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims>
ในการแก้ไขตัวอย่าง "ยืนยันนโยบาย JWT" ให้เปลี่ยนประเภทการอ้างสิทธิ์เป็น boolean ดังนี้
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
MissingNameForAdditionalClaim
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 2
Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากไม่ระบุชื่อการอ้างสิทธิ์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> หรือ <AdditionalHeaders>
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT จากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claimตรวจสอบ XML ของนโยบาย "ยืนยัน JWT" ที่ล้มเหลว และยืนยันว่าชื่อการอ้างสิทธิ์ขาดหายไปในองค์ประกอบย่อย
<Claims>ภายใต้องค์ประกอบ<AdditionalClaims>หรือ<AdditionalHeaders>ตัวอย่างเช่น นโยบาย Verify JWT ต่อไปนี้ไม่ได้ระบุชื่อการอ้างสิทธิ์ในองค์ประกอบ<AdditionalClaims><VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </VerifyJWT>เนื่องจากไม่ได้ระบุชื่อ
<Claim>ในองค์ประกอบ<AdditionalClaims>คุณจึงได้รับข้อผิดพลาดError occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
ความละเอียด
ตรวจสอบว่าได้ระบุชื่อการอ้างสิทธิ์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> หรือ <AdditionalHeaders> เสมอ
หากต้องการแก้ไขตัวอย่าง "ยืนยันนโยบาย JWT" ให้ระบุชื่อการอ้างสิทธิ์ดังที่แสดงด้านล่าง
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
InvalidNameForAdditionalHeader
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Invalid name for additional header : policy(policy_name)header(header_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากชื่อการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalHeaders> เป็นส่วนหัว JWT มาตรฐานรายการใดรายการหนึ่งต่อไปนี้
alg หรือ typ
ตัวอย่างเช่น การใช้ชื่อการอ้างสิทธิ์ alg ใต้องค์ประกอบ <AdditionalHeaders> จะทำให้เกิดข้อผิดพลาด
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT และชื่อส่วนหัวจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256และชื่อส่วนหัวคือalgInvalid name for additional header: policy(JWT-Verify-RS256) header(alg).ตรวจสอบว่าชื่อส่วนหัวที่ใช้ในองค์ประกอบย่อย
<Claim>ภายใต้องค์ประกอบ<AdditionalHeaders>ใน XML ของนโยบาย JWT ที่ล้มเหลว ตรงกับชื่อส่วนหัวที่ระบุไว้ในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 ตัวอย่างเช่น นโยบายต่อไปนี้ระบุส่วนหัวเป็นalgซึ่งตรงกับข้อความแสดงข้อผิดพลาด<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </VerifyJWT>หากชื่อส่วนหัวที่ใช้ในองค์ประกอบย่อย
<Claim>ขององค์ประกอบ<AdditionalClaims>เป็นหนึ่งในส่วนหัว JWT มาตรฐานต่อไปนี้algหรือtypนั่นคือสาเหตุของข้อผิดพลาด
ในตัวอย่างนโยบาย "ยืนยัน JWT" ที่แสดงด้านบน ชื่อ
<Claim>ได้รับการระบุเป็นalgในองค์ประกอบ<AdditionalClaims>ซึ่งทำให้เกิดข้อผิดพลาดขึ้นInvalid name for additional header: policy(JWT-Verify-RS256) header(alg).
ความละเอียด
อย่าใช้ส่วนหัว JWT มาตรฐาน alg หรือ typ ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalHeaders>
หากต้องการแก้ไขตัวอย่าง "ยืนยันนโยบาย JWT" ให้ใช้ชื่อ x5c ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalHeaders> ดังนี้
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidTypeForAdditionalHeader
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim1) type(integer).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดจะเกิดขึ้นหากประเภทการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalHeaders> ของนโยบาย Verify JWT ไม่ใช่ประเภทใดประเภทหนึ่งต่อไปนี้
string (ค่าเริ่มต้น), number, boolean หรือ map
ตัวอย่างเช่น การใช้การอ้างสิทธิ์ประเภท integer ใต้องค์ประกอบ <AdditionalHeaders> จะทำให้เกิดข้อผิดพลาด
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT, ชื่อการอ้างสิทธิ์ และประเภทจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อนโยบาย "ยืนยัน JWT" คือ
JWT-Verify-RS256ชื่อการอ้างสิทธิ์คือclaimและประเภทคือintegerInvalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).ตรวจสอบว่าชื่อการอ้างสิทธิ์และประเภทที่ใช้ภายใต้องค์ประกอบ
<AdditionalClaims>ใน XML ของนโยบาย JWT ที่ล้มเหลว ตรงกับชื่อและประเภทการอ้างสิทธิ์ที่ระบุในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 ตัวอย่างเช่น นโยบายต่อไปนี้ระบุการอ้างสิทธิ์เป็นclaimและประเภทการอ้างสิทธิ์เป็นinteger,ซึ่งตรงกับเนื้อหาในข้อความแสดงข้อผิดพลาด<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </VerifyJWT>หากประเภทการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย
<Claim>ขององค์ประกอบ<AdditionalHeaders>ไม่ใช่ประเภทต่อไปนี้string(ค่าเริ่มต้น),number,booleanหรือmapนั่นคือสาเหตุของข้อผิดพลาด
ในตัวอย่างนโยบาย "ยืนยัน JWT" ที่แสดงด้านบน ประเภท
<Claim>ในองค์ประกอบ<AdditionalHeaders>จะระบุเป็นintegerเนื่องจากintegerไม่ใช่ประเภทที่รองรับ คุณจึงได้รับข้อผิดพลาด:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
ความละเอียด
ตรวจสอบว่าใช้เฉพาะประเภทข้อมูลที่รองรับ string, number, boolean หรือ map ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalHeaders>
ในการแก้ไขตัวอย่าง "ยืนยันนโยบาย JWT" ให้เปลี่ยนประเภทการอ้างสิทธิ์เป็น boolean ดังนี้
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueOfArrayAttribute
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Invalid value for array attribute: policy(policy_name)claim(claim_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากค่าของแอตทริบิวต์อาร์เรย์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> หรือ <AdditionalHeaders> ไม่ได้ตั้งค่าเป็น true หรือ false
ตัวอย่างเช่น การตั้งค่าของแอตทริบิวต์อาร์เรย์เป็น yes ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> หรือ <AdditionalHeaders> ทำให้เกิดข้อผิดพลาด
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT และชื่อการอ้างสิทธิ์จากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256และชื่อการอ้างสิทธิ์คือclaimInvalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).ตรวจสอบว่าชื่อการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย
<Claim>ภายใต้องค์ประกอบ<AdditionalHeaders>ใน XML นโยบาย "ยืนยัน JWT" ที่ล้มเหลวตรงกับชื่อการอ้างสิทธิ์ที่ระบุในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 ตัวอย่างเช่น นโยบายต่อไปนี้ระบุชื่อการอ้างสิทธิ์เป็นclaimซึ่งตรงกับข้อความแสดงข้อผิดพลาด<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </VerifyJWT>หากค่าของแอตทริบิวต์
arrayในองค์ประกอบย่อย<Claim>ขององค์ประกอบ<AdditionalClaims>ไม่ได้ตั้งค่าเป็นtrueหรือfalseข้อผิดพลาดดังกล่าวอาจเป็นสาเหตุของข้อผิดพลาดเนื่องจากแอตทริบิวต์
arrayในองค์ประกอบย่อย<Claim>ขององค์ประกอบ<AdditionalClaims>ได้รับการตั้งค่าเป็นyesในตัวอย่างด้านบน คุณจึงได้รับข้อผิดพลาดInvalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
ความละเอียด
ตรวจสอบว่าค่าของแอตทริบิวต์อาร์เรย์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> หรือ <AdditionalHeaders> ตั้งค่าเป็น true หรือ false
หากต้องการแก้ไขตัวอย่าง "ยืนยันนโยบาย JWT" ที่แสดงด้านบน ให้เปลี่ยนค่าของแอตทริบิวต์อาร์เรย์เป็น true
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueForElement
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากค่าที่ระบุในองค์ประกอบ <Algorithm> ไม่ใช่ค่าใดค่าหนึ่งต่อไปนี้
HS256, HS384, HS512, RS256, RS384, RS512
ตัวอย่างเช่น การระบุค่าอัลกอริทึมเป็น RS128 ในองค์ประกอบ <Algorithm> จะทำให้เกิดข้อผิดพลาดนี้
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT และชื่อองค์ประกอบจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256และชื่อองค์ประกอบคือAlgorithmInvalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).ตรวจสอบ XML ของนโยบาย Verify JWT ที่ล้มเหลวและตรวจสอบค่าที่ระบุสำหรับองค์ประกอบ
<Algorithm>ตัวอย่างนโยบาย "ยืนยัน JWT" มีดังนี้
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS128</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </VerifyJWT>ตรวจสอบค่าที่ระบุในองค์ประกอบ
<Algorithm>หากไม่ใช่ค่าใดค่าหนึ่งต่อไปนี้HS256,HS384,HS512,RS256,RS384,RS512นั่นคือสาเหตุของข้อผิดพลาด
ในตัวอย่างนโยบาย "ยืนยัน JWT" ที่แสดงด้านบน ชื่อ
<Algorithm>ระบุเป็นHS128คุณได้รับข้อผิดพลาดต่อไปนี้เนื่องจากอัลกอริทึมนี้ไม่รองรับInvalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
ความละเอียด
ตรวจสอบว่าค่าที่ระบุในองค์ประกอบ <Algorithm> เป็นค่าที่รองรับค่าใดค่าหนึ่ง
HS256, HS384, HS512, RS256, RS384, RS512
หากต้องการแก้ไขตัวอย่างนโยบาย "ยืนยัน JWT" ที่แสดงด้านบน ซึ่งใช้องค์ประกอบ <SecretKey> ให้เปลี่ยนค่าของ <Algorithm> เป็น HS25 โปรดทราบว่าเมื่อใช้องค์ประกอบ <SecretKey> คุณจะใช้ได้เฉพาะอัลกอริทึมของ HS Family เท่านั้น
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
MissingConfigurationElement
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นเมื่อไม่ได้ใช้องค์ประกอบ <PublicKey> กับอัลกอริทึม Family ของ RSA ในนโยบาย Verify JWT ในทํานองเดียวกัน ข้อผิดพลาดอาจเกิดขึ้นหากไม่ได้ใช้องค์ประกอบ <SecretKey> กับอัลกอริทึม HS Family ในนโยบาย Verify JWT
ตัวอย่างเช่น การไม่ใช้องค์ประกอบ <PublicKey> กับอัลกอริทึมของ RSA Family จะทำให้เกิดข้อผิดพลาดนี้
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT และชื่อองค์ประกอบที่หายไปจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256และชื่อองค์ประกอบที่ขาดหายไปคือPublicKeyMissing configuration element : policy(JWT-Verify-RS256) element(PublicKey).ตรวจสอบ XML ของนโยบาย JWT ที่ล้มเหลว และตรวจสอบว่าองค์ประกอบที่ระบุไว้ในข้อความแสดงข้อผิดพลาดหายไป หากไม่มี ข้อผิดพลาดดังกล่าวคือสาเหตุของข้อผิดพลาด
ตัวอย่างเช่น นโยบายต่อไปนี้แสดงให้เห็นว่าไม่มี
PublicKeyและAlgorithmที่ใช้คือRS256<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>ตัวอย่างนโยบาย "ยืนยัน JWT" ใช้อัลกอริทึม HS Family แต่ไม่มีองค์ประกอบ
PublicKeyที่จำเป็น ซึ่งทำให้เกิดข้อผิดพลาด ดังนี้Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
ความละเอียด
ตรวจสอบว่าใช้องค์ประกอบ <PublicKey> ที่จำเป็นกับอัลกอริทึม RSA Family และใช้องค์ประกอบ <SecretKey> ที่จำเป็นกับอัลกอริทึม HS Family
หากต้องการแก้ไขตัวอย่างนโยบาย Verify JWT ที่แสดงด้านบน ซึ่งใช้อัลกอริทึม RS256 ให้เพิ่มองค์ประกอบ <PublicKey> ลงในนโยบาย VerifyJWT ดังนี้
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Algorithm>RS256</Algorithm>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidKeyConfiguration
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving RevisionInvalid Key configuration : policy(policy_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้กำหนดองค์ประกอบย่อย <Value> หรือองค์ประกอบย่อย <JWKS> ที่จำเป็นในองค์ประกอบ <PublicKey> หรือ <SecretKey> ของนโยบาย Verify JWT
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT จากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256Invalid Key configuration : policy(JWT-Verify-RS256).ตรวจสอบ XML ของนโยบาย "ยืนยัน JWT" ที่ล้มเหลว และตรวจสอบว่าไม่มีการกำหนดองค์ประกอบย่อย
<Value>หรือองค์ประกอบย่อย<JWKS>ในองค์ประกอบ<PublicKey>หรือ<SecretKey>หากไม่ได้กำหนดองค์ประกอบย่อยไว้ ก็เป็นสาเหตุของข้อผิดพลาดตัวอย่างเช่น นโยบายต่อไปนี้แสดงให้เห็นว่าไม่มีการกำหนดองค์ประกอบย่อย
<Value>หรือ<JWKS>ในองค์ประกอบ<PublicKey><VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>เนื่องจากองค์ประกอบย่อย
<Value>หรือ<JWKS>ไม่ได้กำหนดในองค์ประกอบ<PublicKey>ของนโยบาย Verify JWT คุณจึงได้รับข้อผิดพลาดInvalid Key configuration : policy(JWT-Verify-RS256).
ความละเอียด
ตรวจสอบว่ามีการกำหนดองค์ประกอบย่อย <Value> หรือ <JWKS> ในองค์ประกอบ <PublicKey> ของนโยบาย Verify JWT เสมอ
ในการแก้ไขตัวอย่าง "ยืนยันนโยบาย JWT" ให้กำหนดองค์ประกอบย่อย <Value> หรือ <JWKS> ใต้องค์ประกอบ <PublicKey> ดังที่แสดงด้านล่าง
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</PublicJWT>
EmptyElementForKeyConfiguration
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Empty Element for Key Configuration : policy(policy_name) element(element_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากไม่มีการระบุแอตทริบิวต์ ref ในองค์ประกอบย่อย <Value> หรือ <JWKS> ขององค์ประกอบ <PublicKey>
ตัวอย่างเช่น หากองค์ประกอบย่อย <Value> ขององค์ประกอบ <PublicKey> ว่างเปล่า จะเกิดข้อผิดพลาดขึ้น
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT และชื่อองค์ประกอบที่ไม่มีอยู่ในข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256และชื่อองค์ประกอบคือPublicKey/ValueEmpty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).ตรวจสอบ XML ของนโยบาย JWT ที่ล้มเหลว และยืนยันว่าองค์ประกอบที่ระบุในขั้นตอนที่ 1 ว่างเปล่า หากแคมเปญว่างเปล่า แสดงว่านี่คือสาเหตุของข้อผิดพลาด
ตัวอย่างเช่น นโยบายต่อไปนี้แสดงให้เห็นว่าองค์ประกอบย่อย
<Value>ขององค์ประกอบ<PublicKey>ว่างเปล่า<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> <Value/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>เนื่องจากองค์ประกอบย่อย
<Value>ขององค์ประกอบ<PublicKey>ของนโยบาย Verify JWT ว่างเปล่า คุณจึงได้รับข้อผิดพลาด:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
ความละเอียด
ตรวจสอบว่ามีการระบุแอตทริบิวต์ ref ในองค์ประกอบย่อย <Value> หรือ <JWKS> ขององค์ประกอบ <PublicKey> เสมอ
หากต้องการแก้ไขตัวอย่าง "ยืนยันนโยบาย JWT" ให้ใช้ตัวแปรโฟลว์ public.publickey ในองค์ประกอบย่อย <Value> ขององค์ประกอบ <PublicKey> ดังนี้
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidConfigurationForVerify
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากมีการกำหนดองค์ประกอบ <Id> ภายในองค์ประกอบ <SecretKey> ของนโยบาย VerifyJWT
ตัวอย่างเช่น หากมีการกำหนดองค์ประกอบ <Id> ในองค์ประกอบ <SecretKey> ข้อผิดพลาดนี้จะเกิดขึ้น
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT และชื่อองค์ประกอบที่ไม่ถูกต้องจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256และชื่อองค์ประกอบคือSecretKey/IdInvalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)ตรวจสอบ XML ของนโยบาย JWT ที่ล้มเหลว และยืนยันว่ามีการกำหนดองค์ประกอบที่ไม่ถูกต้องซึ่งระบุไว้ในขั้นตอนที่ 1 หากมีการกำหนดไว้ ข้อผิดพลาดดังกล่าวคือสาเหตุของข้อผิดพลาด
ตัวอย่างเช่น นโยบายต่อไปนี้แสดงให้เห็นว่ามีการกำหนดองค์ประกอบย่อย
<Id>ขององค์ประกอบ<SecretKey>แล้ว<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="private.secretkey"/> <Id/> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>เนื่องจากองค์ประกอบ
<Id>ได้รับการกำหนดภายในองค์ประกอบ<SecretKey>ของนโยบาย Verify JWT คุณจึงได้รับข้อผิดพลาด:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
ความละเอียด
ตรวจสอบว่าไม่ได้กำหนดองค์ประกอบ <Id> ภายในองค์ประกอบ <SecretKey> ของนโยบาย Verify JWT
ในการแก้ไขตัวอย่าง "ยืนยันนโยบาย JWT" ให้นำองค์ประกอบย่อย <Id> ออกจากองค์ประกอบ <SecretKey> ดังนี้
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref='private.secretkey'/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidEmptyElement
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Source> ของนโยบาย Verify JWT ว่างเปล่า หากมี จะต้องกำหนดด้วยชื่อตัวแปรโฟลว์ Edge
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT และชื่อองค์ประกอบที่ว่างเปล่าจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256และชื่อองค์ประกอบคือPublicKey/ValueInvalid empty element : policy(JWT-Verify-HS256) element(Source).ตรวจสอบ XML ของนโยบาย JWT ที่ล้มเหลว และยืนยันว่าองค์ประกอบที่ระบุในขั้นตอนที่ 1 ว่างเปล่า หากแคมเปญว่างเปล่า แสดงว่านี่คือสาเหตุของข้อผิดพลาด
ตัวอย่างเช่น นโยบายต่อไปนี้แสดงให้เห็นว่าองค์ประกอบ
<Source>ว่างเปล่า<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Source></Source> <PublicKey> <Value ref="public.publickey"/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>คุณจะได้รับข้อผิดพลาดเนื่องจากองค์ประกอบ
<Source>ของนโยบาย "ยืนยัน JWT" ว่างเปล่าInvalid empty element : policy(JWT-Verify-HS256) element(Source).
ความละเอียด
หากมีองค์ประกอบ <Source> ของนโยบาย Verify JWT ให้ตรวจสอบว่ามีการระบุตัวแปรโฟลว์
หากต้องการแก้ไขตัวอย่าง "ยืนยันนโยบาย JWT" ให้ใช้ตัวแปรโฟลว์ที่ถูกต้องในองค์ประกอบ <Source> ดังนี้
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>jwt-variable</Source>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidPublicKeyValue
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากค่าที่ใช้ในองค์ประกอบย่อย <JWKS> ขององค์ประกอบ <PublicKey> ไม่ได้อยู่ในรูปแบบที่ถูกต้องตามที่ระบุไว้ใน RFC 7517
ตัวอย่างเช่น การใช้ abc เป็นค่าขององค์ประกอบย่อย <JWKS> ใต้องค์ประกอบ <PublicKey> จะทำให้เกิดข้อผิดพลาดนี้
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT และชื่อองค์ประกอบที่มีค่าที่ไม่ถูกต้องจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-RS256และองค์ประกอบคือPublicKey/JWKSInvalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).ตรวจสอบ XML นโยบาย "ยืนยัน JWT" ที่ล้มเหลว และยืนยันว่าองค์ประกอบที่ระบุในขั้นตอนที่ 1 มีค่าในรูปแบบที่ถูกต้องตาม RFC 7517 หากค่าขององค์ประกอบไม่ได้อยู่ในรูปแบบที่ถูกต้อง แสดงว่าเป็นสาเหตุของข้อผิดพลาด
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PublicKey> <JWKS>abc<JWKS> </PublicKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> </VerifyJWT>เนื่องจากค่าในองค์ประกอบย่อย
<JWKS>ขององค์ประกอบ<PublicKey>ไม่ได้อยู่ในรูปแบบที่ถูกต้องตาม RFC 7517 คุณจึงได้รับข้อผิดพลาดInvalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
ความละเอียด
ตรวจสอบว่าค่าที่ระบุในองค์ประกอบย่อย <JWKS> ขององค์ประกอบ <PublicKey> เป็นสตริงหรือตัวแปรโฟลว์ที่ถูกต้องในรูปแบบ JWKS ที่ถูกต้อง (RFC 7517)
หากต้องการแก้ไขตัวอย่าง "ยืนยันนโยบาย JWT" ให้เปลี่ยนค่าของ <JWKS> ดังที่แสดงด้านล่าง
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<JWKS>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM</JWKS>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
</VerifyJWT>
InvalidConfigurationForActionAndAlgorithm
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision <var>revision_number</var>
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
ตัวอย่างภาพหน้าจอ
ใน Edge UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด:

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากใช้องค์ประกอบ <PublicKey> กับอัลกอริทึมของ HS Family และใช้องค์ประกอบ <SecretKey> กับอัลกอริทึม Family ของ RSA ข้อผิดพลาดยังจะเกิดขึ้นหากเงื่อนไขใดๆ เป็นจริง
ตัวอย่างเช่น การใช้องค์ประกอบ <PublicKey> กับอัลกอริทึม HS Family จะทำให้เกิดข้อผิดพลาดนี้
การวินิจฉัย
ระบุชื่อนโยบาย Verify JWT, ชื่อองค์ประกอบ และชื่อตระกูลของอัลกอริทึมจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ
JWT-Verify-HS256ชื่อองค์ประกอบคือPublicKeyและตระกูลอัลกอริทึมคือRSAInvalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).ตรวจสอบว่าองค์ประกอบและกลุ่มอัลกอริทึมที่ใช้ใน XML นโยบาย JWT ยืนยันที่ล้มเหลวตรงกับองค์ประกอบและกลุ่มอัลกอริทึมที่ระบุไว้ในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 ตัวอย่างเช่น นโยบายต่อไปนี้ระบุองค์ประกอบเป็น
PublicKeyและกลุ่มอัลกอริทึมเป็นHMACซึ่งตรงกับข้อความแสดงข้อผิดพลาด<VerifyJWT name="JWT-Verify-HS256"> <DisplayName>JWT Verify HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request.formparam.jwt</Source> <PublicKey> <Value ref="var-value"/> </PublicKey> <SecretKey> <Value ref="private.secretkey"/> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> </VerifyJWT>หากค่าขององค์ประกอบ
<Algorithm>คือHS256แต่คุณใช้<PublicKey>นั่นก็คือสาเหตุของข้อผิดพลาดในตัวอย่างนโยบาย "ยืนยัน JWT" ที่แสดงด้านบน มีการใช้องค์ประกอบ
<PublicKey>แม้ว่า<Algorithm>จะตั้งค่าไว้เป็นอัลกอริทึมของครอบครัว HS256 ซึ่งทำให้เกิดข้อผิดพลาด ดังนี้Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
ความละเอียด
ตรวจสอบว่าองค์ประกอบ <PublicKey> ใช้กับอัลกอริทึม RSA Family เท่านั้น และใช้องค์ประกอบ <SecretKey> กับอัลกอริทึม HS Family เท่านั้น
หากต้องการแก้ไขตัวอย่างนโยบาย "ยืนยัน JWT" ให้ใช้ <SecretKey> จากนโยบาย VerifyJWT ที่ใช้อัลกอริทึม HS256
<VerifyJWT name="JWT-Verify-HS256">
<DisplayName>JWT Verify HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>request.formparam.jwt</Source>
<SecretKey>
<Value ref="private.secretkey"/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
</VerifyJWT>