การแก้ปัญหาข้อผิดพลาดในการทำให้นโยบาย ConfirmJWT ใช้งานได้

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

InvalidNameForAdditionalClaim

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากชื่อของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> เป็นชื่อที่จดทะเบียนต่อไปนี้

"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"

การอ้างสิทธิ์ที่ลงทะเบียนจะระบุไว้ใน RFC7519

เช่น การใช้ชื่อการอ้างสิทธิ์ iss ภายใต้องค์ประกอบ <AdditionalClaims> จะทำให้เกิดข้อผิดพลาดนี้

การวินิจฉัย

  1. ระบุชื่อนโยบาย Verify JWT และชื่อการอ้างสิทธิ์จากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 และชื่อการอ้างสิทธิ์คือ iss

    Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
    
  2. ตรวจสอบว่าชื่อการอ้างสิทธิ์ที่ใช้ในองค์ประกอบ <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>
    
  3. หากชื่อการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> เป็นชื่อที่ลงทะเบียนต่อไปนี้

    "kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"

    นั่นคือสาเหตุของข้อผิดพลาด

    ในตัวอย่างนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ประเภทของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ของนโยบาย VerifyJWT ไม่ใช่ประเภทใดประเภทหนึ่งต่อไปนี้

string (ค่าเริ่มต้น), number, boolean หรือ map

เช่น การใช้ประเภทการอ้างสิทธิ์ integer ภายใต้องค์ประกอบ <AdditionalClaims> จะทำให้เกิดข้อผิดพลาด

การวินิจฉัย

  1. ระบุชื่อนโยบาย Verify JWT, ชื่อการอ้างสิทธิ์ และประเภทจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 ชื่อการอ้างสิทธิ์คือ claim และประเภทคือ integer:

    Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
    
  2. ตรวจสอบว่าชื่อการอ้างสิทธิ์และประเภทที่ใช้ภายใต้องค์ประกอบ <AdditionalClaims> ใน XML ของนโยบาย Verify 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>
    
  3. หากประเภทการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ใช่ประเภทใดประเภทหนึ่งต่อไปนี้

    string (ค่าเริ่มต้น), number, boolean หรือ map

    นั่นคือสาเหตุของข้อผิดพลาด

    ในตัวอย่างนโยบาย Verify JWT ที่แสดงด้านบน ประเภท <Claim> จะระบุเป็น integer ภายใต้องค์ประกอบ <AdditionalClaims> เนื่องจาก integer ไม่ใช่ประเภทที่รองรับ คุณจึงได้รับข้อผิดพลาดต่อไปนี้

    Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
    

ความละเอียด

ตรวจสอบว่าใช้เฉพาะประเภทข้อมูลที่รองรับ string (ค่าเริ่มต้น), number, boolean หรือ map ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims>

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากไม่ได้ระบุชื่อของการอ้างสิทธิ์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> หรือ <AdditionalHeaders>

การวินิจฉัย

  1. ระบุชื่อนโยบาย 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
    
  2. ตรวจสอบ 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> เสมอ

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากชื่อของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalHeaders> เป็นส่วนหัว JWT มาตรฐานอย่างใดอย่างหนึ่งต่อไปนี้

alg หรือ typ

เช่น การใช้ชื่อการอ้างสิทธิ์ alg ภายใต้องค์ประกอบ <AdditionalHeaders> จะทำให้เกิดข้อผิดพลาด

การวินิจฉัย

  1. ระบุชื่อนโยบาย Verify JWT และชื่อส่วนหัวจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 และชื่อส่วนหัวคือ alg

    Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
    
  2. ตรวจสอบว่าชื่อส่วนหัวที่ใช้ในองค์ประกอบย่อย <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>
    
  3. หากชื่อส่วนหัวที่ใช้ในองค์ประกอบย่อย <Claim>ขององค์ประกอบ <AdditionalClaims> เป็นส่วนหัว JWT มาตรฐานอย่างใดอย่างหนึ่งต่อไปนี้

    alg หรือ typ

    นั่นคือสาเหตุของข้อผิดพลาด

    ในตัวอย่างนโยบาย Verify JWT ที่แสดงด้านบน <Claim> จะระบุเป็น alg ภายใต้องค์ประกอบ <AdditionalClaims> ซึ่งทำให้เกิดข้อผิดพลาดต่อไปนี้

    Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
    

ความละเอียด

อย่าใช้ส่วนหัว JWT มาตรฐาน alg หรือ typ ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalHeaders>

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดจะเกิดขึ้นหากประเภทการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalHeaders> ของนโยบาย Verify JWT ไม่ใช่ประเภทใดประเภทหนึ่งต่อไปนี้

string (ค่าเริ่มต้น), number, boolean หรือ map

เช่น การใช้ประเภทการอ้างสิทธิ์ integer ภายใต้องค์ประกอบ <AdditionalHeaders> จะทำให้เกิดข้อผิดพลาด

การวินิจฉัย

  1. ระบุชื่อนโยบาย Verify JWT, ชื่อการอ้างสิทธิ์ และประเภทจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 ชื่อการอ้างสิทธิ์คือ claim และประเภทคือ integer

    Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
    
  2. ตรวจสอบว่าชื่อการอ้างสิทธิ์และประเภทที่ใช้ภายใต้องค์ประกอบ <AdditionalClaims> ใน XML ของนโยบาย Verify 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>
    
  3. หากประเภทการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <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>

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้ตั้งค่าแอตทริบิวต์อาร์เรย์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> หรือ <AdditionalHeaders> เป็น true หรือ false

เช่น การตั้งค่าแอตทริบิวต์อาร์เรย์เป็น yes ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> หรือ <AdditionalHeaders> จะทำให้เกิดข้อผิดพลาด

การวินิจฉัย

  1. ระบุชื่อนโยบาย Verify JWT และชื่อการอ้างสิทธิ์จากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 และชื่อการอ้างสิทธิ์คือ claim

    Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
    
  2. ตรวจสอบว่าชื่อการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ภายใต้องค์ประกอบ <AdditionalHeaders> ใน XML ของนโยบาย Verify 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>
    
  3. หากไม่ได้ตั้งค่าแอตทริบิวต์ 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

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากค่าที่ระบุในองค์ประกอบ <Algorithm> ไม่ใช่ค่าใดค่าหนึ่งต่อไปนี้

HS256 HS384 HS512 RS256 RS384 RS512

เช่น การระบุค่าอัลกอริทึมเป็น RS128 ในองค์ประกอบ <Algorithm> จะทำให้เกิดข้อผิดพลาดนี้

การวินิจฉัย

  1. ระบุชื่อนโยบาย Verify JWT และชื่อองค์ประกอบจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 และชื่อองค์ประกอบคือ Algorithm

    Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
    
  2. ตรวจสอบ 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>
    
  3. ตรวจสอบค่าที่ระบุในองค์ประกอบ <Algorithm> หากไม่ใช่ค่าใดค่าหนึ่งต่อไปนี้

    HS256 HS384 HS512 RS256 RS384 RS512

    นั่นคือสาเหตุของข้อผิดพลาด

    ในตัวอย่างนโยบาย Verify JWT ที่แสดงด้านบน <Algorithm> name จะระบุเป็น HS128 เนื่องจากอัลกอริทึมนี้ไม่รองรับ คุณจึงได้รับข้อผิดพลาดต่อไปนี้

    Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
    

ความละเอียด

ตรวจสอบว่าค่าที่ระบุในองค์ประกอบ <Algorithm> เป็นค่าที่รองรับค่าใดค่าหนึ่งต่อไปนี้

HS256 HS384 HS512 RS256 RS384 RS512

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นเมื่อไม่ได้ใช้องค์ประกอบ <PublicKey> กับอัลกอริทึม RSA Family ในนโยบาย Verify JWT ในทำนองเดียวกัน ข้อผิดพลาดอาจเกิดขึ้นหากไม่ได้ใช้องค์ประกอบ <SecretKey> กับอัลกอริทึม HS Family ในนโยบาย Verify JWT

เช่น การไม่ใช้องค์ประกอบ <PublicKey> กับอัลกอริทึม RSA Family จะทำให้เกิดข้อผิดพลาดนี้

การวินิจฉัย

  1. ระบุชื่อนโยบาย Verify JWT และชื่อองค์ประกอบที่ขาดหายไปจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 และชื่อองค์ประกอบที่ขาดหายไปคือ PublicKey

    Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
    
  2. ตรวจสอบ XML ของนโยบาย Verify 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>
    

    นโยบาย Verify JWT ตัวอย่างใช้ HS Family Algorithms แต่ไม่มีองค์ประกอบที่จำเป็น 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 ผ่าน UI ของ Edge หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 
Invalid Key configuration : policy(policy_name).

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้กำหนดองค์ประกอบย่อย <Value> หรือองค์ประกอบย่อยที่จำเป็น <JWKS> ในองค์ประกอบ <PublicKey> หรือ <SecretKey> ของนโยบาย Verify JWT

การวินิจฉัย

  1. ระบุชื่อนโยบาย Verify JWT จากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256

    Invalid Key configuration : policy(JWT-Verify-RS256).
    
    
  2. ตรวจสอบ XML ของนโยบาย Verify 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 เสมอ

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้ระบุหรือไม่มีค่าสำหรับแอตทริบิวต์ ref ในองค์ประกอบย่อย <Value> หรือ <JWKS> ขององค์ประกอบ <PublicKey>

เช่น หากองค์ประกอบย่อย <Value> ขององค์ประกอบ <PublicKey> ว่างเปล่า ก็จะเกิดข้อผิดพลาดขึ้น

การวินิจฉัย

  1. ระบุชื่อนโยบาย Verify JWT และชื่อองค์ประกอบที่ว่างจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 และชื่อองค์ประกอบคือ PublicKey/Value

    Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
    
  2. ตรวจสอบ XML ของนโยบาย Verify 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> เสมอ

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากมีการกำหนดองค์ประกอบ <Id> ภายในองค์ประกอบ <SecretKey> ของนโยบาย VerifyJWT

เช่น หากกำหนดองค์ประกอบ <Id> ในองค์ประกอบ <SecretKey> ข้อผิดพลาดนี้จะเกิดขึ้น

การวินิจฉัย

  1. ระบุชื่อของนโยบาย Verify JWT และชื่อองค์ประกอบที่ไม่ถูกต้องจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 และชื่อองค์ประกอบคือ SecretKey/Id

    Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
    
  2. ตรวจสอบ XML ของนโยบาย Verify 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

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 
Invalid empty element : policy(policy_name) element(element_name).

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากองค์ประกอบ <Source> ของนโยบาย Verify JWT ว่างเปล่า หากมีอยู่ จะต้องกำหนดด้วยชื่อตัวแปรโฟลว์ Edge

การวินิจฉัย

  1. ระบุชื่อนโยบาย Verify JWT และชื่อองค์ประกอบที่ว่างจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 และชื่อองค์ประกอบคือ PublicKey/Value

    Invalid empty element : policy(JWT-Verify-HS256) element(Source).
    
  2. ตรวจสอบ XML ของนโยบาย Verify 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> ของนโยบาย Verify JWT ว่างเปล่า คุณจึงได้รับข้อผิดพลาดต่อไปนี้

    Invalid empty element : policy(JWT-Verify-HS256) element(Source).
    

ความละเอียด

หากมีองค์ประกอบ <Source> ของนโยบาย Verify JWT ให้ตรวจสอบว่าได้ระบุตัวแปรโฟลว์

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากค่าที่ใช้ในองค์ประกอบย่อย <JWKS> ขององค์ประกอบ <PublicKey> ไม่ได้อยู่ในรูปแบบที่ถูกต้องตามที่ระบุไว้ใน RFC 7517

เช่น การใช้ abc เป็นค่าขององค์ประกอบย่อย <JWKS> ภายใต้องค์ประกอบ <PublicKey> จะทำให้เกิดข้อผิดพลาดนี้

การวินิจฉัย

  1. ระบุชื่อของนโยบาย Verify JWT และชื่อองค์ประกอบที่มีค่าไม่ถูกต้องจากข้อความแสดงข้อผิดพลาด เช่น ในข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย Verify JWT คือ JWT-Verify-RS256 และองค์ประกอบคือ PublicKey/JWKS

    Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
    
  2. ตรวจสอบ XML ของนโยบาย Verify 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)

หากต้องการแก้ไขนโยบาย Verify 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 ผ่าน UI ของ Edge หรือ 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).

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาดดังนี้

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้นหากใช้องค์ประกอบ <PublicKey> กับอัลกอริทึมตระกูล HS และใช้องค์ประกอบ <SecretKey> กับอัลกอริทึมตระกูล RSA ข้อผิดพลาดจะเกิดขึ้นหากเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง

เช่น การใช้องค์ประกอบ <PublicKey> กับอัลกอริทึม HS Family จะทำให้เกิดข้อผิดพลาดนี้

การวินิจฉัย

  1. ระบุชื่อนโยบาย 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).
    
  2. ตรวจสอบว่าองค์ประกอบและตระกูลอัลกอริทึมที่ใช้ใน XML ของนโยบาย Verify 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>
    
  3. หากค่าขององค์ประกอบ <Algorithm> เป็น HS256 แต่คุณใช้ <PublicKey> แสดงว่านั่นคือสาเหตุของข้อผิดพลาด

    ในนโยบาย Verify 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 เท่านั้น

หากต้องการแก้ไขนโยบาย Verify 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>