הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של Apigee Edge
InvalidNameForAdditionalClaim
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם השם של התביעה שמשמש ברכיב הצאצא <Claim> של הרכיב <AdditionalClaims> הוא אחד מהשמות הרשומים הבאים:
'kid', 'iss', 'sub', 'aud', 'iat', 'exp', 'nbf', 'jti'
התביעות הרשומות מפורטות ב-RFC 7519.
לדוגמה, שימוש בשם ההצהרה iss ברכיב <AdditionalClaims> יוביל לשגיאה הזו.
אבחון
מזהים את השם של מדיניות יצירת ה-JWT ואת שם הטענה מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות יצירת ה-JWT הוא
JWT-Generate-HS256ושם ההצהרה הואiss:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).מוודאים ששם התביעה שמשמש באלמנט
<AdditionalClaims>ב-XML של מדיניות Generate 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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="iss"/> </AdditionalClaims> </GenerateJWT>אם שם התג שמשמש ברכיב המשני
<Claim>של הרכיב<AdditionalClaims>הוא אחד מהשמות הרשומים הבאים:'kid', '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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
InvalidTypeForAdditionalClaim
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם סוג התביעה שמשמש ברכיב הצאצא <Claim> של רכיב <AdditionalClaims> במדיניות GenerateJWT הוא לא אחד מהסוגים הבאים:
string (ברירת מחדל), number, boolean או map
לדוגמה, שימוש בסוג התלונה integer ברכיב <AdditionalClaims> יגרום לשגיאה.
אבחון
מזהים את השם של מדיניות יצירת ה-JWT, את שם הטענה ואת סוג הטענה מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות יצירת ה-JWT הוא
JWT-Generate-HS256, שם ההצהרה הואclaimוסוג ההצהרה הואinteger:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).מוודאים ששם הטענה והסוג שמשמשים ברכיב
<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </GenerateJWT>אם סוג התלונה שמשמש ברכיב הצאצא
<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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
MissingNameForAdditionalClaim
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם שם הטענה לא מצוין ברכיב הבן <Claim> של הרכיב <AdditionalClaims> או <AdditionalHeaders>.
אבחון
מזהים את השם של מדיניות יצירת ה-JWT מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות יצירת ה-JWT הוא
JWT-Generate-HS256:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claimבודקים את קובץ ה-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-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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
InvalidNameForAdditionalHeader
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם השם של ההצהרה שמשמשת ברכיב הצאצא <Claim> של הרכיב <AdditionalHeaders> הוא אחד מכותרות ה-JWT הסטנדרטיות הבאות:
alg או typ
לדוגמה, שימוש בשם ההצהרה alg מתחת לרכיב <AdditionalHeaders> יגרום לשגיאה.
אבחון
מזהים את השם של מדיניות יצירת ה-JWT ואת שם הכותרת מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות יצירת ה-JWT הוא
JWT-Generate-HS256ושם הכותרת הואalg:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).מוודאים ששם הכותרת שמשמש ברכיב הצאצא
<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </GenerateJWT>אם שם הכותרת שמשמש ברכיב המשני
<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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTypeForAdditionalHeader
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה תתרחש אם סוג הטענה שנעשה בו שימוש ברכיב הצאצא <Claim> של הרכיב <AdditionalHeaders> במדיניות GenerateJWT הוא לא אחד מהסוגים הבאים:
string (ברירת מחדל), number, boolean או map.
לדוגמה, שימוש בסוג התלונה integer מתחת לרכיב <AdditionalHeaders> יגרום לשגיאה.
אבחון
מזהים את השם של מדיניות יצירת ה-JWT, את שם הטענה ואת סוג הטענה מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, שם המדיניות Generate JWT הוא
JWT-Generate-HS256, שם ההצהרה הואclaim,וסוג ההצהרה הואinteger:Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).מוודאים ששם התביעה וסוג התביעה שנעשה בהם שימוש באלמנט
<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </GenerateJWT>אם סוג התלונה שמשמש ברכיב הצאצא
<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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueOfArrayAttribute
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם הערך של מאפיין המערך באלמנט הצאצא <Claim> של האלמנט <AdditionalClaims> או <AdditionalHeaders> לא מוגדר כ-true או כ-false.
לדוגמה, הגדרת הערך של מאפיין המערך כ-yes ברכיב הצאצא <Claim> של <AdditionalClaims> או <AdditionalHeaders> גורמת לשגיאה.
אבחון
מזהים את השם של מדיניות יצירת ה-JWT ואת שם הטענה מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות יצירת ה-JWT הוא
JWT-Generate-HS256ושם ההצהרה הואclaim:Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).מוודאים ששם התביעה שמשמש ברכיב הצאצא
<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </GenerateJWT>אם הערך של המאפיין
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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidConfigurationForActionAndAlgorithm
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם נעשה שימוש ברכיב <PrivateKey> עם אלגוריתמים של HS Family וברכיב <SecretKey> עם אלגוריתמים של RSA Family. השגיאה תתרחש גם אם אחד מהתנאים האלה יתקיים.
לדוגמה, שימוש ברכיב <PrivateKey> עם אלגוריתמים של HS Family מוביל לשגיאה הזו.
אבחון
מזהים את השם של מדיניות יצירת ה-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).מוודאים שהרכיב ומשפחת האלגוריתמים שבהם נעשה שימוש ב-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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array=tuu =/> </AdditionalClaims> </GenerateJWT>אם הערך של הרכיב
<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) שמתאימים למשפחות, והרכיב <SecretKey> משמש רק עם אלגוריתמים של מודעות רספונסיביות לרשת החיפוש (RSA) שמתאימים למשפחות.
כדי לתקן את הדוגמה למדיניות Generate 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueForElement
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם הערך שצוין ברכיב <Algorithm> לא תואם לאחד מהערכים הבאים:
HS256, HS384, HS512, RS256, RS384, RS512
לדוגמה, אם מציינים את ערך האלגוריתם כ-RS128 ברכיב <Algorithm>, מוצגת השגיאה הזו.
אבחון
מזהים את השם של מדיניות Generate JWT ואת שם הרכיב מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות Generate JWT הוא
JWT-Generate-HS256ושם הרכיב הואAlgorithm.Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).בודקים את ה-XML של המדיניות Generate 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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </GenerateJWT>בודקים את הערך שצוין ברכיב
<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.
<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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
MissingConfigurationElement
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת כשלא משתמשים ברכיב <PrivateKey> עם אלגוריתמים של משפחת RSA במדיניות Generate JWT. באופן דומה, השגיאה יכולה להתרחש אם לא משתמשים ברכיב <SecretKey> עם אלגוריתמים של משפחת HS במדיניות Generate JWT.
לדוגמה, אם לא משתמשים ברכיב <PrivateKey> עם אלגוריתמים של RSA Family, השגיאה הזו תופיע.
אבחון
מזהים את השם של מדיניות יצירת ה-JWT ואת שם הרכיב החסר מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות יצירת ה-JWT הוא
JWT-Generate-HS256ושם הרכיב החסר הואSecretKey.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).בודקים את קובץ ה-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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>בדוגמה של מדיניות ליצירת JWT נעשה שימוש באלגוריתמים של משפחת HS, אבל חסר הרכיב הנדרש
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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidKeyConfiguration
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
הודעת שגיאה לדוגמה
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם רכיב הצאצא <Value> לא מוגדר באלמנטים <PrivateKey> או <SecretKey> במדיניות Generate JWT.
אבחון
מזהים את השם של מדיניות יצירת ה-JWT מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות יצירת ה-JWT הוא
JWT-Generate-HS256.Invalid Key configuration : policy(JWT-Generate-HS256).בודקים את קובץ ה-XML של המדיניות Generate 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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>מכיוון שרכיב הבן
<Value>לא מוגדר ברכיב<SecretKey>של מדיניות Generate JWT, מוצגת השגיאה:Invalid Key configuration : policy(JWT-Generate-HS256).
רזולוציה
חשוב לוודא שרכיב הבן <Value> מוגדר תמיד ברכיבים <PrivateKey> או <SecretKey> של מדיניות Generate 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
EmptyElementForKeyConfiguration
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם מאפיין ה-ref ברכיב הצאצא <Value> של הרכיבים <PrivateKey> או <SecretKey> לא צוין או ריק.
לדוגמה, אם רכיב הצאצא <Value> של האלמנט <SecretKey> ריק, השגיאה מתרחשת.
אבחון
מזהים את השם של מדיניות Generate JWT ואת שם הרכיב הריק מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות Generate JWT הוא
JWT-Generate-HS256ושם הרכיב הריק הואSecretKey/Value.Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).בודקים את קובץ ה-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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>כי רכיב הצאצא
<Value>של האלמנט<SecretKey>במדיניות Generate 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidVariableNameForSecret
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם שם משתנה הזרימה שצוין במאפיין ref ברכיב הבן <Value> של הרכיבים <PrivateKey> או <SecretKey> לא כולל את הקידומת הפרטית (private.).
לדוגמה :
אם שם משתנה ה-Flow מצוין כ-mykey במאפיין ref של רכיב הצאצא <Value> של רכיב <PrivateKey>, השגיאה הזו מתרחשת.
אבחון
מזהים את השם של מדיניות יצירת ה-JWT ואת השם של הרכיב עם שם משתנה לא תקין מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות Generate JWT הוא
JWT-Generate-HS256ושם הרכיב הואSecretKey/Value.Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).בודקים את קובץ ה-XML של המדיניות Generate 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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>שם המשתנה שצוין ברכיב הבן
<Value>של הרכיב<SecretKey>במדיניות Generate 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidSecretInConfig
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם הערך (הסוד) מצוין באופן מפורש ב:
- רכיבי הצאצא
<Value>או<Password>של הרכיב<PrivateKey>או - רכיב הבן
<Value>של הרכיב<SecretKey>
במדיניות Generate JWT.
לדוגמה, אם הסוד מצוין באופן מפורש כ-abc ברכיב הצאצא <Value> של הרכיב <SecretKey>, השגיאה הזו מתרחשת.
אבחון
מזהים את השם של מדיניות Generate JWT ואת שם הרכיב שבו הסוד מצוין באופן מפורש בהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות Generate JWT הוא
JWT-Generate-HS256ושם הרכיב הואSecretKey/Value.Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).בודקים את קובץ ה-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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>מכיוון שהסוד מצוין באופן מפורש ברכיב הצאצא
<Value>של הרכיב<SecretKey>במדיניות Generate JWT, מוצגת השגיאה:Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
רזולוציה
חשוב לוודא שהערך תמיד מצוין כמשתנה של זרימה ברכיב הצאצא <Value> של הרכיבים <PrivateKey> או <SecretKey>.
כדי לתקן את המדיניות של יצירת JWT שמוצגת למעלה, צריך להשתמש במשתנה של זרימת העבודה private.secretkey במאפיין ref של הרכיב המשני <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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTimeFormat
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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).
דוגמה לצילום מסך
בממשק המשתמש של Apigee תופיע תיבת דו-שיח עם שגיאה:

מטרה
השגיאה הזו מתרחשת אם הערך שצוין ברכיב <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>
אבחון
מזהים את השם של מדיניות Generate JWT ואת שם הרכיב שכולל פורמט זמן לא תקין בהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של מדיניות Generate JWT הוא
JWT-Generate-HS256ושם הרכיב הואNotBefore.Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).בודקים את קובץ ה-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-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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>