คุณกำลังดูเอกสารประกอบ 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
และชื่อการอ้างสิทธิ์คือiss
Invalid 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-RS256
Error 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
และชื่อส่วนหัวคือalg
Invalid 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
และประเภทคือinteger
Invalid 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
และชื่อการอ้างสิทธิ์คือclaim
Invalid 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
และชื่อองค์ประกอบคือAlgorithm
Invalid 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
และชื่อองค์ประกอบที่ขาดหายไปคือPublicKey
Missing 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-RS256
Invalid 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/Value
Empty 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/Id
Invalid 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/Value
Invalid 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/JWKS
Invalid 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
และตระกูลอัลกอริทึมคือRSA
Invalid 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>