מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
InvalidNameForAdditionalClaim
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
השגיאה הזו מתקבלת אם שם ההצהרה שנמצא ברכיב הצאצא <Claim>
של הרכיב <AdditionalClaims>
הוא אחד מהשמות הרשומים הבאים:
'kid', 'iss', 'sub', 'aud', 'iat', 'exp', 'nbf', 'jti'
התלונות הרשומות מפורטות ב-RFC7519.
לדוגמה, שימוש בשם התלונה iss
מתחת לרכיב <AdditionalClaims>
יוביל לשגיאה הזו.
אבחון
מזהים את השם של המדיניות Generate JWT ואת שם ההצהרה שמופיע בהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של המדיניות 'יצירת JWT' הוא
JWT-Generate-HS256
ושם התלונה הואiss
:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
צריך לוודא ששם התלונה שנעשה בו שימוש ברכיב
<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>
אם שם התלונה שנמצא ברכיב הצאצא
<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-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
InvalidTypeForAdditionalClaim
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
השגיאה הזו מתקבלת אם סוג התלונה שנעשה בה שימוש ברכיב הצאצא <Claim>
של הרכיב <AdditionalClaims>
במדיניות GenerateJWT אינו אחד מהסוגים הבאים:
string
(ברירת מחדל), number
, boolean
או map
לדוגמה, שימוש בסוג ההצהרה integer
מתחת לרכיב <AdditionalClaims>
יגרום לשגיאה.
אבחון
מזהים את השם של המדיניות Generate JWT, שם התלונה וסוג ההצהרה שמצוינים בהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של המדיניות Generate 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-edge-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-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
MissingNameForAdditionalClaim
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
שגיאה זו מתרחשת אם שם התלונה לא צוין ברכיב הצאצא <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-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
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
השגיאה הזו מתקבלת אם שם ההצהרה שנמצא ברכיב הצאצא <Claim>
של הרכיב <AdditionalHeaders>
הוא אחת מכותרות ה-JWT הרגילות הבאות:
alg
או typ
לדוגמה, שימוש בשם התלונה alg
מתחת לרכיב <AdditionalHeaders>
יגרום לשגיאה.
אבחון
מזהים את השם של המדיניות Generate 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-edge-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-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTypeForAdditionalHeader
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
השגיאה תתרחש אם סוג התלונה שנעשה בו שימוש ברכיב הצאצא <Claim>
של הרכיב <AdditionalHeaders>
במדיניות GenerateJWT אינו אחד מהסוגים הבאים:
string
(ברירת המחדל), number
, boolean
או map
.
לדוגמה, שימוש בסוג ההצהרה integer
מתחת לרכיב <AdditionalHeaders>
יגרום לשגיאה.
אבחון
מזהים את השם של המדיניות Generate JWT, שם התלונה וסוג ההצהרה שמצוינים בהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של המדיניות 'יצירת 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-edge-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-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueOfArrayAttribute
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
שגיאה זו מתרחשת אם הערך של מאפיין המערך ברכיב הצאצא <Claim>
של הרכיב <AdditionalClaims>
או <AdditionalHeaders>
אינו מוגדר ל-true
או false
.
לדוגמה, הגדרת הערך של מאפיין המערך כ-yes
ברכיב הצאצא <Claim>
של <AdditionalClaims>
או <AdditionalHeaders>
גורמת לשגיאה.
אבחון
מזהים את השם של המדיניות Generate JWT ואת שם ההצהרה שמופיע בהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של המדיניות Generate 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-edge-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-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidConfigurationForActionAndAlgorithm
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
השגיאה הזו מתרחשת אם משתמשים ברכיב <PrivateKey>
עם האלגוריתמים של משפחת HS, וברכיב <SecretKey>
נעשה שימוש באלגוריתמים של משפחת ה-RSA. השגיאה תתרחש גם אם אחד מהתנאים האלה מתקיים.
לדוגמה, שימוש ברכיב <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).
מוודאים שהרכיב ומשפחת האלגוריתמים שנעשה בהם שימוש במדיניות 'יצירת 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>
אם הערך של הרכיב
<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
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
השגיאה הזו מתקבלת אם הערך שצוין ברכיב <Algorithm>
אינו אחד מהערכים הבאים:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
לדוגמה, ציון ערך האלגוריתם כ-RS128
ברכיב <Algorithm>
מוביל לשגיאה הזו.
אבחון
מזהים את השם של המדיניות Generate JWT ואת שם הרכיב מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, שם המדיניות 'יצירת JWT' הוא
JWT-Generate-HS256
ושם הרכיב הואAlgorithm.
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
צריך לבדוק את ה-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>
צריך לבדוק את הערך שצוין ברכיב
<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
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
השגיאה הזו מתרחשת כשלא משתמשים ברכיב <PrivateKey>
יחד עם אלגוריתמים של משפחת RSA במדיניות יצירת JWT. באותו אופן, השגיאה גם יכולה להתרחש אם לא משתמשים ברכיב <SecretKey>
עם האלגוריתמים של HS Family במדיניות Generate JWT.
לדוגמה, אי-שימוש ברכיב <PrivateKey>
עם אלגוריתמים של RSA משפחתי.
אבחון
מזהים את השם של המדיניות Generate 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-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, ושרכיב החובה <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
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
הודעת שגיאה לדוגמה
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
צילום מסך לדוגמה
בממשק המשתמש של Edge תופיע תיבת דו-שיח עם השגיאה:
סיבה
השגיאה הזו מתקבלת אם רכיב הצאצא <Value>
לא מוגדר ברכיבים <PrivateKey>
או <SecretKey>
במדיניות Generate JWT.
אבחון
מזהים את השם של המדיניות מסוג 'יצירת JWT' דרך הודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, שם המדיניות 'יצירת JWT' הוא
JWT-Generate-HS256
.Invalid Key configuration : policy(JWT-Generate-HS256).
צריך לבדוק את ה-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>
של המדיניות 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-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
EmptyElementForKeyConfiguration
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
שגיאה זו מתרחשת כאשר מאפיין ה-ref ברכיב הצאצא <Value>
של רכיבי <PrivateKey>
או <SecretKey>
לא מצוין או ריק.
לדוגמה, אם רכיב הצאצא <Value>
של הרכיב <SecretKey>
ריק, תתקבל השגיאה.
אבחון
מזהים את השם של המדיניות Generate JWT ואת שם הרכיב הריק מהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, השם של המדיניות 'יצירת 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-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.
".
כדי לתקן את המדיניות לדוגמה Generate 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
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
שגיאה זו מתרחשת אם שם משתנה הזרימה שצוין במאפיין ref ברכיב הצאצא <Value>
של רכיבי <PrivateKey>
או <SecretKey>
לא כולל את הקידומת הפרטית (private.
).
לדוגמה :
אם השם של משתנה הזרימה מצוין כ-mykey
במאפיין ה-ref של רכיב הצאצא <Value>
של הרכיב <PrivateKey>
, השגיאה הזו תופיע.
אבחון
מזהים את שם המדיניות Generate JWT ואת שם הרכיב עם שם משתנה לא תקין שמופיע בהודעת השגיאה. לדוגמה, בהודעת השגיאה הבאה, שם המדיניות Generate JWT הוא
JWT-Generate-HS256
ושם הרכיב הואSecretKey/Value
.Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
בודקים את קובץ ה-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
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
השגיאה הזו מתקבלת אם הערך (סוד) מצוין במפורש ב:
- רכיבי הצאצא
<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-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
במאפיין ה-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-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTimeFormat
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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 תופיע תיבת דו-שיח עם השגיאה:
סיבה
השגיאה הזו מתקבלת אם הערך שצוין ברכיב <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-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
הרכיב
<NotBefore>
של המדיניות Generate 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>