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

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

InvalidNameForAdditionalClaim

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
Invalid name for additional claim : policy(policy_name) claim(claim_name).

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

Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).

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

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

สาเหตุ

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

"เด็ก", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"

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

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

การวินิจฉัย

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

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    
  2. ตรวจสอบว่าชื่อการอ้างสิทธิ์ที่ใช้ภายใต้องค์ประกอบ <AdditionalClaims> ใน XML ของนโยบายการสร้าง JWT ที่ล้มเหลวตรงกับชื่อการอ้างสิทธิ์ที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน) ตัวอย่างเช่น นโยบายต่อไปนี้ระบุการอ้างสิทธิ์เป็น iss ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</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>
    </GenerateJWT>
    
  3. หากชื่อการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim>ขององค์ประกอบ <AdditionalClaims> เป็นชื่อที่จดทะเบียนอย่างใดอย่างหนึ่งต่อไปนี้

    "เด็ก", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"

    ก็จะเป็นสาเหตุของข้อผิดพลาด

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

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    

ความละเอียด

อย่าใช้ชื่อที่ลงทะเบียนใดๆ เป็น "kid", "iss", "sub", "aud", "iat", "exp", "nbf" หรือ "jti" ในองค์ประกอบย่อย <Claim>ขององค์ประกอบ <AdditionalClaims>

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้เปลี่ยนชื่อการอ้างสิทธิ์เป็น status ดังนี้

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

InvalidTypeForAdditionalClaim

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
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-Generate-HS256) claim(claim) type(integer).

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

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

สาเหตุ

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

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

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

การวินิจฉัย

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

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. ยืนยันว่าชื่อการอ้างสิทธิ์และประเภทที่ใช้ในองค์ประกอบ <AdditionalClaims> ในไฟล์ XML ของนโยบายสร้าง JWT ที่ล้มเหลวตรงกับชื่อและประเภทการอ้างสิทธิ์ที่ระบุในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 ตัวอย่างเช่น นโยบายต่อไปนี้ระบุการอ้างสิทธิ์เป็น claim และประเภทเป็น integer ซึ่งตรงกับข้อความแสดงข้อผิดพลาด

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</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>
    </GenerateJWT>
    
  3. หากประเภทการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ใช่ประเภทใดประเภทหนึ่งต่อไปนี้

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

    ก็จะเป็นสาเหตุของข้อผิดพลาด

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

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

ความละเอียด

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

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้เปลี่ยนประเภทการอ้างสิทธิ์เป็น boolean

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

MissingNameForAdditionalClaim

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
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-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim

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

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

สาเหตุ

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

การวินิจฉัย

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

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. ตรวจสอบ XML ของนโยบายสร้าง JWT ที่ล้มเหลวและยืนยันว่าไม่มีชื่อการอ้างสิทธิ์ในองค์ประกอบย่อย <Claims> ภายใต้องค์ประกอบ <AdditionalClaims> หรือ <AdditionalHeaders> ตัวอย่างเช่น นโยบายสร้าง JWT ต่อไปนี้ไม่ได้ระบุชื่อการอ้างสิทธิ์ภายใต้องค์ประกอบ <AdditionalClaims>

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</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>
    </GenerateJWT>
    

    เนื่องจากไม่ได้ระบุชื่อ <Claim> ในองค์ประกอบ <AdditionalClaims> คุณจึงได้รับข้อผิดพลาด:

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    

ความละเอียด

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

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้ระบุชื่อการอ้างสิทธิ์ตามที่แสดงด้านล่าง

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

InvalidNameForAdditionalHeader

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
Invalid name for additional header : policy(policy_name)header(header_name).

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

Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).

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

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

สาเหตุ

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

alg หรือ typ

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

การวินิจฉัย

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

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. ยืนยันว่าชื่อส่วนหัวที่ใช้ในองค์ประกอบย่อย <Claim> ภายใต้องค์ประกอบ <AdditionalHeaders> ใน XML ของนโยบายสร้าง JWT ที่ล้มเหลวตรงกับชื่อส่วนหัวที่ระบุในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 ตัวอย่างเช่น นโยบายต่อไปนี้ระบุส่วนหัวเป็น alg ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</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>
    </GenerateJWT>
    
  3. ถ้าชื่อส่วนหัวที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> เป็นหนึ่งในส่วนหัว JWT มาตรฐานต่อไปนี้

    alg หรือ typ

    ก็จะเป็นสาเหตุของข้อผิดพลาด

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

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    

ความละเอียด

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

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้ใช้ชื่อ x5c ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalHeaders> ดังนี้

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

InvalidTypeForAdditionalHeader

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
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-Generate-HS256) claim(claim1) type(integer).

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

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

สาเหตุ

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

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

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

การวินิจฉัย

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

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. ยืนยันว่าชื่อการอ้างสิทธิ์และประเภทการอ้างสิทธิ์ที่ใช้ภายใต้องค์ประกอบ <AdditionalClaims> ในไฟล์ XML ของนโยบายสร้าง JWT ที่ล้มเหลวตรงกับชื่อและประเภทการอ้างสิทธิ์ที่ระบุในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 ตัวอย่างเช่น นโยบายต่อไปนี้ระบุการอ้างสิทธิ์เป็น claim และประเภทการอ้างสิทธิ์เป็น integer ซึ่งตรงกับข้อความแสดงข้อผิดพลาด

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</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>
    </GenerateJWT>
    
  3. หากประเภทการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalHeaders> ไม่ใช่ประเภทใดประเภทหนึ่งต่อไปนี้

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

    ก็จะเป็นสาเหตุของข้อผิดพลาด

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

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

ความละเอียด

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

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้เปลี่ยนประเภทการอ้างสิทธิ์เป็น boolean

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

InvalidValueOfArrayAttribute

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
Invalid value for array attribute: policy(policy_name)claim(claim_name).

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

Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).

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

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

สาเหตุ

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

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

การวินิจฉัย

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

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    
  2. ยืนยันว่าชื่อการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ภายใต้องค์ประกอบ <AdditionalHeaders> ในไฟล์ XML ของนโยบายสร้าง JWT ที่ล้มเหลวตรงกับชื่อการอ้างสิทธิ์ที่ระบุในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 ตัวอย่างเช่น นโยบายต่อไปนี้ระบุชื่อการอ้างสิทธิ์เป็น claim ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</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>
    </GenerateJWT>
    
  3. หากค่าของแอตทริบิวต์ array ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ได้ตั้งค่าเป็น true หรือ false นั่นเป็นสาเหตุของข้อผิดพลาด

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

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    

ความละเอียด

ตรวจสอบว่าค่าของแอตทริบิวต์อาร์เรย์ในองค์ประกอบย่อย <Claim> ของ <AdditionalClaims> หรือ <AdditionalHeaders> ตั้งค่าเป็น true หรือ false

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้เปลี่ยนค่าของแอตทริบิวต์อาร์เรย์เป็น true

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

InvalidConfigurationForActionAndAlgorithm

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
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 2
Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).

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

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

สาเหตุ

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

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

การวินิจฉัย

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

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    
  2. ยืนยันว่าองค์ประกอบและกลุ่มอัลกอริทึมที่ใช้ใน XML ของนโยบาย สร้าง JWT ที่ล้มเหลวตรงกับองค์ประกอบ และกลุ่มอัลกอริทึมที่ระบุในข้อความแสดงข้อผิดพลาดในขั้นตอนที่ 1 เช่น นโยบายต่อไปนี้ระบุองค์ประกอบเป็น PrivateKey และกลุ่มอัลกอริทึมเป็น HMAC ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <PrivateKey>
            <Password ref="private.privatekey-password"/>
    
        </PrivateKey>
            <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=tuu
        =/>
            </AdditionalClaims>
        </GenerateJWT>
    
  3. หากค่าขององค์ประกอบ <Algorithm> คือ HS256 แต่คุณใช้ <PrivateKey> นั่นเป็นสาเหตุของข้อผิดพลาด

    ในตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ระบบจะใช้ <PrivateKey> แม้ว่า <PrivateKey> จะตั้งค่าไว้เป็นอัลกอริทึมสำหรับครอบครัว HS256 ซึ่งทำให้เกิดข้อผิดพลาด ดังนี้

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    

ความละเอียด

ตรวจสอบว่าใช้องค์ประกอบ <PrivateKey> กับอัลกอริทึม RSA Family เท่านั้น และนำองค์ประกอบ <SecretKey> ไปใช้กับอัลกอริทึม HS Family เท่านั้น

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้ใช้ <SecretKey> จากนโยบาย GenerateJWT ที่ใช้อัลกอริทึม HS256 ดังนี้

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

InvalidValueForElement

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
Invalid Value for element : policy(policy_name) element(element_name).

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

Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).

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

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

สาเหตุ

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

HS256, HS384, HS512, RS256, RS384, RS512

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

การวินิจฉัย

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

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. ตรวจสอบ XML ของนโยบายสร้าง JWT ที่ล้มเหลวและตรวจสอบค่าที่ระบุสำหรับองค์ประกอบ <Algorithm>

    ตัวอย่างนโยบายสร้าง JWT มีดังนี้

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS128</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>
    </GenerateJWT>
    
  3. ตรวจสอบค่าที่ระบุในองค์ประกอบ <Algorithm> หากไม่ใช่ค่าใดค่าหนึ่งต่อไปนี้

    HS256, HS384, HS512, RS256, RS384, RS512

    ก็จะเป็นสาเหตุของข้อผิดพลาด

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

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    

ความละเอียด

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

HS256, HS384, HS512, RS256, RS384, RS512

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ซึ่งใช้องค์ประกอบ <SecretKey> ให้เปลี่ยนค่าของ <Algorithm> เป็น HS25 โปรดทราบว่าเมื่อใช้องค์ประกอบ <SecretKey> คุณจะใช้ได้เฉพาะอัลกอริทึม HS Family เท่านั้น

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

MissingConfigurationElement

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
Missing configuration element : policy(policy_name) element(element_name).

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

Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).

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

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

สาเหตุ

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

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

การวินิจฉัย

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

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    
  2. ตรวจสอบ XML ของนโยบายสร้าง JWT ที่ล้มเหลว และยืนยันว่าองค์ประกอบที่ระบุไว้ในข้อความแสดงข้อผิดพลาดหายไป หากข้อผิดพลาดหายไป แสดงว่าเป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างเช่น ในนโยบายต่อไปนี้ SecretKey ไม่มี และ Algorithm ที่ใช้คือ HS256:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</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>
    </GenerateJWT>
    

    ตัวอย่างนโยบายสร้าง JWT ใช้อัลกอริทึม HS Family แต่องค์ประกอบที่จำเป็น SecretKey ขาดหายไป ซึ่งทําให้เกิดข้อผิดพลาด

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    

ความละเอียด

ตรวจสอบว่าได้ใช้องค์ประกอบ <PrivateKey> ที่จำเป็นกับอัลกอริทึมของ RSA Family และมีการใช้องค์ประกอบ <SecretKey> ที่จำเป็นกับอัลกอริทึม HS Family

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบนซึ่งใช้อัลกอริทึม HS256 ให้เพิ่มองค์ประกอบ <SecretKey> ลงในนโยบายสร้าง JWT ดังนี้

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

InvalidKeyConfiguration

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

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

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

Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).

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

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

สาเหตุ

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

การวินิจฉัย

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

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. ตรวจสอบ XML ของนโยบายสร้าง JWT ที่ล้มเหลว และยืนยันว่าองค์ประกอบย่อย <Value> ไม่ได้กำหนดไว้ในองค์ประกอบ <PrivateKey> หรือ <SecretKey> หากไม่ได้กำหนด <Value> ไว้ นั่นเป็นสาเหตุของข้อผิดพลาด

    เช่น ในนโยบายต่อไปนี้ องค์ประกอบย่อย <Value> ไม่ได้กำหนดไว้ในองค์ประกอบ <SecretKey>

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
        </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>
    </GenerateJWT>
    

    เนื่องจากไม่ได้กำหนดองค์ประกอบย่อย <Value> ในองค์ประกอบ <SecretKey> ของนโยบายสร้าง JWT คุณจึงได้รับข้อผิดพลาดต่อไปนี้

    Invalid Key configuration : policy(JWT-Generate-HS256).
    

ความละเอียด

ตรวจสอบว่ามีการกำหนดองค์ประกอบย่อย <Value> ในองค์ประกอบ <PrivateKey> หรือ <SecretKey> ของนโยบายสร้าง JWT เสมอ

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้กำหนดองค์ประกอบย่อย <Value> ภายใต้องค์ประกอบ <SecretKey> ดังที่แสดงด้านล่าง

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

EmptyElementForKeyConfiguration

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
Empty Element for Key Configuration : policy(policy_name) element(element_name).

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

Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).

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

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

สาเหตุ

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

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

การวินิจฉัย

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

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. ตรวจสอบ XML ของนโยบายสร้าง JWT ที่ล้มเหลวและยืนยันว่าองค์ประกอบที่ระบุในขั้นตอนที่ 1 ว่างเปล่าหรือไม่ หากพารามิเตอร์ว่างเปล่า นั่นเป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างเช่น นโยบายต่อไปนี้แสดงให้เห็นว่าองค์ประกอบย่อย <Value> ขององค์ประกอบ <SecretKey> ว่างเปล่า

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value/>
            <Id>1918290</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>
    </GenerateJWT>
    

    เนื่องจากองค์ประกอบย่อย <Value> ขององค์ประกอบ <SecretKey> ในนโยบายสร้าง JWT ว่างเปล่า คุณจึงได้รับข้อผิดพลาด:

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

ความละเอียด

ตรวจสอบว่ามีการระบุแอตทริบิวต์ ref ในองค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> เสมอและมีคำนำหน้า "private."

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้ใช้ตัวแปรโฟลว์ private.privatekey ในองค์ประกอบย่อย <Value> ขององค์ประกอบ <SecretKey>

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

InvalidVariableNameForSecret

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
Invalid variable name for secret : policy(policy_name) element(element_name).

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

Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).

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

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากชื่อตัวแปรโฟลว์ที่ระบุในแอตทริบิวต์ ref ในองค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> ไม่มีคำนำหน้าส่วนตัว (private.)

For example :

หากระบุชื่อตัวแปรโฟลว์เป็น mykey ในแอตทริบิวต์การอ้างอิงขององค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> ข้อผิดพลาดนี้จะเกิดขึ้น

การวินิจฉัย

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

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. ตรวจสอบ XML ของนโยบายสร้าง JWT ที่ล้มเหลวและยืนยันชื่อตัวแปรที่ใช้ในองค์ประกอบที่ระบุไว้ในขั้นตอนที่ 1 หากชื่อตัวแปรไม่มีคํานําหน้า private. นั่นเป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างเช่น นโยบายต่อไปนี้แสดงให้เห็นว่าองค์ประกอบย่อย <Value> ขององค์ประกอบ <SecretKey> มีชื่อตัวแปร mykey ที่ไม่ถูกต้อง

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value ref="mykey"/>
            <Id>1918290</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>
    </GenerateJWT>
    

    เนื่องจากชื่อตัวแปรที่ระบุในองค์ประกอบย่อย <Value> ขององค์ประกอบ <SecretKey> ของนโยบายสร้าง JWT ไม่มีคำนำหน้า private. คุณจึงได้รับข้อผิดพลาด

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

ความละเอียด

ตรวจสอบว่ามีการระบุแอตทริบิวต์ ref ในองค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> เสมอและมีคำนำหน้า private.

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้ใช้ตัวแปรโฟลว์ private.privatekey ในองค์ประกอบย่อย <Value> ขององค์ประกอบ <SecretKey> ดังนี้

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

InvalidSecretInConfig

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).

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

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).

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

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากมีการระบุค่า (ข้อมูลลับ) อย่างชัดเจนใน

  • องค์ประกอบย่อย <Value> หรือ <Password> ขององค์ประกอบ <PrivateKey> หรือ
  • องค์ประกอบย่อย <Value> ขององค์ประกอบ <SecretKey>

ในนโยบายสร้าง JWT

ตัวอย่างเช่น หากมีการระบุข้อมูลลับอย่างชัดเจนเป็น abc ในองค์ประกอบย่อย <Value> ขององค์ประกอบ <SecretKey> ข้อผิดพลาดนี้จะเกิดขึ้น

การวินิจฉัย

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

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. ตรวจสอบ XML ของนโยบายสร้าง JWT ที่ล้มเหลว และตรวจสอบว่ามีการระบุข้อมูลลับอย่างชัดเจนในองค์ประกอบที่ระบุไว้ในขั้นตอนที่ 1 หรือไม่ หากระบุไว้อย่างชัดเจน นั่นเป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างเช่น นโยบายต่อไปนี้แสดงให้เห็นว่าได้ระบุข้อมูลลับไว้อย่างชัดเจนในองค์ประกอบย่อย <Value> ขององค์ประกอบ <SecretKey>

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value>abc</Value>
            <Id>1918290</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>
    </GenerateJWT>
    

    เนื่องจากมีการระบุข้อมูลลับอย่างชัดเจนในองค์ประกอบย่อย <Value> ขององค์ประกอบ <SecretKey> ของนโยบายสร้าง JWT คุณจึงได้รับข้อผิดพลาดต่อไปนี้

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

ความละเอียด

ตรวจสอบว่าได้ระบุค่าเป็นตัวแปรโฟลว์เสมอในองค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey>

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ที่แสดงด้านบน ให้ใช้ตัวแปรโฟลว์ private.secretkey ในแอตทริบิวต์การอ้างอิงขององค์ประกอบย่อย <Value> ของ <SecretKey> ดังนี้

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <ExpiresIn>1h</ExpiresIn>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <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>
</GenerateJWT>

InvalidTimeFormat

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision 2
Invalid Time format: policy(policy_name) element(element_name).

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

Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).

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

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

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากค่าที่ระบุในองค์ประกอบ <NotBefore> ไม่ได้อยู่ในรูปแบบที่รองรับ

sortable, RFC 1123, RFC 850, ANCI-C

ตัวอย่างเช่น หากค่าที่ระบุใน <NotBefore> คือ 20-JUN-1990 08:03 ซึ่งไม่ใช่รูปแบบที่รองรับ ก็จะเกิดข้อผิดพลาดนี้

<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>

การวินิจฉัย

  1. ระบุชื่อของนโยบายสร้าง JWT และชื่อองค์ประกอบซึ่งมีรูปแบบเวลาที่ไม่ถูกต้องจากข้อความแสดงข้อผิดพลาด เช่น ข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบายสร้าง JWT คือ JWT-Generate-HS256 และชื่อองค์ประกอบคือ NotBefore

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. ตรวจสอบ XML ของนโยบายสร้าง JWT ที่ล้มเหลวและยืนยันรูปแบบเวลาที่ใช้ในองค์ประกอบที่ระบุไว้ในขั้นตอนที่ 1 หากองค์ประกอบไม่ได้ใช้รูปแบบที่รองรับ

    sortable, RFC 1123, RFC 850, ANCI-C

    ก็จะเป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างเช่น นโยบายต่อไปนี้แสดงให้เห็นว่าองค์ประกอบย่อย <NotBefore> ใช้รูปแบบเวลาที่ระบบไม่รองรับ

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</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>
    </GenerateJWT>
    

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

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

ความละเอียด

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

sortable, RFC 1123, RFC 850, ANCI-C

หากต้องการแก้ไขตัวอย่างนโยบายสร้าง JWT ให้แก้ไขวันที่ในองค์ประกอบ <NotBefore> ให้ใช้รูปแบบ sortable ตามที่แสดงด้านล่าง

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <ExpiresIn>1h</ExpiresIn>
    <NotBefore>2018-08-14T11:00:21-07:00</NotBefore>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <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>
</GenerateJWT>