Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
InvalidNameForAdditionalClaim
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Invalid name for additional claim : policy(policy_name) claim(claim_name).
Örnek hata mesajı
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, <AdditionalClaims> öğesinin <Claim> alt öğesinde kullanılan hak talebinin adı aşağıdaki kayıtlı adlardan biri olduğunda oluşur:
"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
Kayıtlı talepler RFC7519'da belirtilmiştir.
Örneğin, <AdditionalClaims> öğesi altında hak talebi adının iss kullanılması bu hataya neden olur.
Teşhis
Hata mesajından JWT oluşturma politikasının adını ve talep adını belirleyin. Örneğin, aşağıdaki hata mesajında Generate JWT politikasının adı
JWT-Generate-HS256, talep adı iseiss'dir:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).Başarısız olan JWT oluşturma politikası XML'sindeki
<AdditionalClaims>öğesi altında kullanılan talep adının, hata mesajında tanımlanan talep adıyla (yukarıdaki 1. adım) eşleştiğini doğrulayın. Örneğin, aşağıdaki politika, hatada belirtilenle eşleşenissolarak talep belirtir:<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><AdditionalClaims>öğesinin alt öğesi<Claim>içinde kullanılan hak talebi adı aşağıdaki kayıtlı adlardan biriyse:"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
Bu durumda hatanın nedeni budur.
Yukarıda gösterilen JWT oluşturma politikası örneğinde,
<Claim>adı<AdditionalClaims>öğesi altındaissolarak belirtilmiştir. Bu durum şu hataya neden olur:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Çözünürlük
<AdditionalClaims> öğesinin <Claim> alt öğesinde "kid", "iss", "sub", "aud", "iat", "exp", "nbf" veya "jti" gibi kayıtlı adlardan hiçbirini kullanmayın.
Yukarıda gösterilen JWT oluşturma politikası örneğini düzeltmek için hak talebi adını status olarak değiştirin:
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
Örnek hata mesajı
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, GenerateJWT politikasının <AdditionalClaims> öğesinin <Claim> alt öğesinde kullanılan hak talebi türü aşağıdaki türlerden biri değilse oluşur:
string (varsayılan), number, boolean veya map
Örneğin, <AdditionalClaims> öğesi altında integer hak talebi türünün kullanılması hataya neden olur.
Teşhis
Hata mesajından JWT oluşturma politikasının adını, talep adını ve hak talebi türünü belirleyin. Örneğin, aşağıdaki hata mesajında, JWT oluşturma politikasının adı
JWT-Generate-HS256, talep adıclaimve hak talebi türüinteger'dir:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).Başarısız olan JWT oluşturma politikası XML'sindeki
<AdditionalClaims>öğesi altında kullanılan hak talebi adı ve türünün, 1. adımda hata mesajında belirtilen hak talebi adı ve türüyle eşleştiğini doğrulayın. Örneğin, aşağıdaki politika, talebiclaimve türüintegerolarak belirtir. Bu, hata mesajındaki bilgilerle eşleşir:<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><AdditionalClaims>öğesinin<Claim>alt öğesinde kullanılan hak talebi türü aşağıdaki türlerden biri değilse:string(varsayılan),number,booleanveyamapBu durumda hatanın nedeni budur.
Yukarıda gösterilen JWT oluşturma politikası örneğinde,
<AdditionalClaims>öğesi altındaki<Claim>türüintegerolarak belirtilmiştir.integerdesteklenen bir tür olmadığından şu hatayı alırsınız:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Çözünürlük
<AdditionalClaims> öğesinin alt öğesi <Claim> içinde yalnızca string, number, boolean veya map gibi desteklenen veri türlerinin kullanıldığından emin olun.
Yukarıda gösterilen JWT oluşturma politikası örneğini düzeltmek için hak talebi türünü boolean olarak değiştirin.
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
Örnek hata mesajı
Error Saving Revision 2
Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, talebin adı <AdditionalClaims> veya <AdditionalHeaders> öğesinin alt öğesi <Claim> içinde belirtilmemişse oluşur.
Teşhis
Hata mesajından Generate JWT politikasının adını belirleyin. Örneğin, aşağıdaki hata mesajında Generate JWT politikasının adı
JWT-Generate-HS256'dır:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in ClaimBaşarısız olan JWT oluşturma politikası XML'sini inceleyin ve
<AdditionalClaims>veya<AdditionalHeaders>öğesi altındaki<Claims>alt öğesinde hak talebi adının eksik olup olmadığını doğrulayın. Örneğin, aşağıdaki JWT oluşturma politikası,<AdditionalClaims>öğesi altında hak talebi adını belirtmez:<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>adı,<AdditionalClaims>öğesi altında belirtilmediği için şu hatayı alırsınız:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Çözünürlük
Hak talebinin adının her zaman <AdditionalClaims> veya <AdditionalHeaders> öğesinin alt öğesi olan <Claim> öğesinde belirtildiğinden emin olun.
Yukarıda gösterilen JWT oluşturma politikası örneğini düzeltmek için hak talebi adını aşağıda gösterildiği gibi belirtin:
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Invalid name for additional header : policy(policy_name)header(header_name).
Örnek hata mesajı
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, <AdditionalHeaders> öğesinin <Claim> alt öğesinde kullanılan talebin adı aşağıdaki standart JWT başlıklarından biriyse oluşur:
alg veya typ
Örneğin, <AdditionalHeaders> öğesi altında hak talebi adının alg kullanılması hataya neden olur.
Teşhis
Hata mesajından JWT oluşturma politikasının adını ve üstbilgi adını belirleyin. Örneğin, aşağıdaki hata mesajında, JWT oluşturma politikasının adı
JWT-Generate-HS256, üstbilgi adı isealg'dir:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).Başarısız olan JWT politikası XML'sini oluşturma işleminde
<AdditionalHeaders>öğesi altındaki<Claim>alt öğesinde kullanılan başlık adının, 1. adımda hata mesajında tanımlanan başlık adıyla eşleştiğini doğrulayın. Örneğin, aşağıdaki politika üstbilgiyialgolarak belirtir. Bu, hata mesajındakiyle eşleşir:<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><AdditionalClaims>öğesinin<Claim>alt öğesinde kullanılan başlık adı aşağıdaki standart JWT başlıklarından biriyse:algveyatypBu durumda hatanın nedeni budur.
Yukarıda gösterilen JWT oluşturma politikası örneğinde,
<Claim>adı<AdditionalClaims>öğesi altındaalgolarak belirtilmiştir. Bu durum şu hataya neden olur:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Çözünürlük
<AdditionalHeaders> öğesinin alt öğesi <Claim> içinde standart JWT başlıkları alg veya typ kullanmayın.
Yukarıda gösterilen JWT oluşturma politikası örneğini düzeltmek için <AdditionalHeaders> öğesinin <Claim> alt öğesinde x5c adını kullanın:
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
Örnek hata mesajı
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim1) type(integer).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
GenerateJWT politikasının <AdditionalHeaders> öğesinin alt öğesi <Claim> içinde kullanılan hak talebi türü aşağıdaki türlerden biri değilse hata oluşur:
string (varsayılan), number, boolean veya map.
Örneğin, <AdditionalHeaders> öğesi altında integer hak talebi türünün kullanılması hataya neden olur.
Teşhis
Hata mesajından JWT oluşturma politikasının adını, talep adını ve hak talebi türünü belirleyin. Örneğin, aşağıdaki hata mesajında, JWT oluşturma politikasının adı
JWT-Generate-HS256, talep adıclaim,ve hak talebi türüinteger:'dir.Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).Başarısız olan JWT politikası XML'si oluşturma işlemindeki
<AdditionalClaims>öğesi altında kullanılan talep adı ve hak talebi türünün, 1. adımda hata mesajında belirtilen talep adı ve hak talebi türüyle eşleştiğini doğrulayın. Örneğin, aşağıdaki politika, hak talebiniclaimve hak talebi türünüintegerolarak belirtir. Bu, hata mesajındaki bilgilerle eşleşir:<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><AdditionalHeaders>öğesinin<Claim>alt öğesinde kullanılan hak talebi türü aşağıdaki türlerden biri değilse:string(varsayılan),number,booleanveyamapBu durumda hatanın nedeni budur.
Yukarıda gösterilen JWT oluşturma politikası örneğinde,
<AdditionalHeaders>öğesi altındaki<Claim>türüintegerolarak belirtilmiştir.integerdesteklenen bir tür olmadığından şu hatayı alırsınız:Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
Çözünürlük
<AdditionalHeaders> öğesinin alt öğesi <Claim> içinde yalnızca desteklenen veri türleri string, number, boolean veya map'ün kullanıldığından emin olun.
Yukarıda gösterilen JWT oluşturma politikası örneğini düzeltmek için hak talebi türünü boolean olarak değiştirin:
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Invalid value for array attribute: policy(policy_name)claim(claim_name).
Örnek hata mesajı
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, <AdditionalClaims> veya <AdditionalHeaders> öğesinin alt öğesi olan <Claim> öğesindeki dizi özelliğinin değeri true veya false olarak ayarlanmamışsa oluşur.
Örneğin, <AdditionalClaims> veya <AdditionalHeaders> öğesinin <Claim> alt öğesinde dizi özelliğinin değerini yes olarak ayarlamak hataya neden olur.
Teşhis
Hata mesajından JWT oluşturma politikasının adını ve talep adını belirleyin. Örneğin, aşağıdaki hata mesajında, JWT oluşturma politikasının adı
JWT-Generate-HS256, hak talebi adı iseclaim:'dir.Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).Başarısız olan JWT politikası XML'sini oluşturma işleminde
<AdditionalHeaders>öğesi altındaki<Claim>alt öğesinde kullanılan talep adının, 1. adımda hata mesajında tanımlanan talep adıyla eşleştiğini doğrulayın. Örneğin, aşağıdaki politikada hak talebi adıclaimolarak belirtiliyor. Bu, hata mesajındakiyle eşleşiyor:<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><AdditionalClaims>öğesinin alt öğesi<Claim>'dekiarrayözelliğinin değeritrueveyafalseolarak ayarlanmamışsa hatanın nedeni budur.Yukarıdaki örnekte
<AdditionalClaims>öğesinin alt öğesi olan<Claim>öğesindekiarrayözelliğiyesolarak ayarlandığından şu hatayı alırsınız:Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Çözünürlük
<AdditionalClaims> veya <AdditionalHeaders> öğesinin alt öğesi <Claim>'daki dizi özelliğinin değerinin true veya false olarak ayarlandığından emin olun.
Yukarıda gösterilen örnek JWT oluşturma politikasını düzeltmek için dizi özelliğinin değerini true olarak değiştirin:
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
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>).
Örnek hata mesajı
Error Saving Revision 2 Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, <PrivateKey> öğesi HS ailesi algoritmalarıyla, <SecretKey> öğesi ise RSA ailesi algoritmalarıyla kullanıldığında ortaya çıkar. Bu koşullardan herhangi biri doğruysa da hata oluşur.
Örneğin, <PrivateKey> öğesini HS Family algoritmalarıyla kullanmak bu hataya neden olur.
Teşhis
Hata mesajından Generate JWT politikasının adını, öğe adını ve algoritma ailesinin adını belirleyin. Örneğin, aşağıdaki hata mesajında Generate JWT politikasının adı
JWT-Generate-HS256, öğe adıPrivateKeyve algoritma ailesiHMAC'dir:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).Başarısız olan JWT oluşturma politikası XML'sinde kullanılan öğe ve algoritma ailesinin, 1. adımda hata mesajında tanımlanan öğe ve algoritma ailesiyle eşleştiğini doğrulayın. Örneğin, aşağıdaki politika öğeyi
PrivateKey, algoritma ailesini iseHMAColarak belirtir. Bu, hata mesajındaki bilgilerle eşleşir:<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>öğesinin değeriHS256ise ancak<PrivateKey>kullanmışsanız hatanın nedeni budur.Yukarıda gösterilen örnek JWT oluşturma politikasında,
<PrivateKey>bir aile algoritmasına,HS256olarak ayarlanmış olmasına rağmen<PrivateKey>kullanılıyor ve şu hataya neden oluyor:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Çözünürlük
<PrivateKey> öğesinin yalnızca RSA Family algoritmalarıyla, <SecretKey> öğesinin ise yalnızca HS Family algoritmalarıyla kullanıldığından emin olun.
Yukarıda gösterilen Generate JWT politikasını düzeltmek için HS256 algoritmasını kullanan GenerateJWT politikasındaki <SecretKey> öğesini kullanın:
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Invalid Value for element : policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
<Algorithm> öğesinde belirtilen değer aşağıdaki değerlerden biri değilse bu hata oluşur:
HS256, HS384, HS512, RS256, RS384, RS512
Örneğin, <Algorithm> öğesinde algoritma değerinin RS128 olarak belirtilmesi bu hataya yol açar.
Teşhis
Generate JWT politikasının adını ve hata mesajındaki öğe adını belirleyin. Örneğin, aşağıdaki hata mesajında Generate JWT politikasının adı
JWT-Generate-HS256, öğe adı iseAlgorithm.'dir.Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).Başarısız olan JWT oluşturma politikası XML'sini inceleyin ve
<Algorithm>öğesi için belirtilen değeri kontrol edin.Aşağıda örnek bir JWT oluşturma politikası verilmiştir:
<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>öğesinde belirtilen değeri inceleyin. Aşağıdaki değerlerden biri değilse:HS256,HS384,HS512,RS256,RS384,RS512Bu durumda hatanın nedeni budur.
Yukarıda gösterilen JWT oluşturma politikası örneğinde,
<Algorithm>adıHS128olarak belirtilmiştir. Bu desteklenen bir algoritma olmadığından şu hatayı alırsınız:Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Çözünürlük
<Algorithm> öğesinde belirtilen değerin desteklenen değerlerden biri olduğundan emin olun:
HS256, HS384, HS512, RS256, RS384, RS512
Yukarıda gösterilen ve <SecretKey> öğesini kullanan JWT oluşturma politikasını düzeltmek için <Algorithm> değerini HS25 olarak değiştirin. <SecretKey> öğesi kullanıldığında yalnızca HS Family algoritmalarını kullanabileceğinizi unutmayın.
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Missing configuration element : policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, JWT oluşturma politikasında <PrivateKey> öğesi RSA ailesi algoritmalarıyla kullanılmadığında meydana gelir. Benzer şekilde, JWT oluşturma politikasında <SecretKey> öğesi HS Family algoritmalarıyla kullanılmıyorsa da hata oluşabilir.
Örneğin, <PrivateKey> öğesinin RSA Family algoritmalarıyla kullanılmaması bu hataya neden olur.
Teşhis
Hata mesajından JWT oluşturma politikasının adını ve eksik öğe adını belirleyin. Örneğin, aşağıdaki hata mesajında, JWT oluşturma politikasının adı
JWT-Generate-HS256, eksik öğenin adı iseSecretKey'dir.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).Başarısız olan JWT oluşturma politikası XML'sini inceleyin ve hata mesajında belirtilen öğenin eksik olduğunu doğrulayın. Bu dosya eksikse hatanın nedeni budur.
Örneğin, aşağıdaki politikada
SecretKeyeksik ve kullanılanAlgorithmHS256:<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>Generate JWT politikası örneğinde HS Family algoritmaları kullanılıyor ancak zorunlu öğe
SecretKeyeksik olduğundan şu hata oluşuyor:Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Çözünürlük
Zorunlu <PrivateKey> öğesinin RSA Ailesi algoritmalarıyla, zorunlu <SecretKey> öğesinin ise HS Ailesi algoritmalarıyla kullanıldığından emin olun.
Yukarıda gösterilen ve HS256 algoritmasını kullanan JWT oluşturma politikası örneğini düzeltmek için JWT oluşturma politikasına <SecretKey> öğesini ekleyin:
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Örnek hata mesajı
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, JWT oluşturma politikasındaki <PrivateKey> veya <SecretKey> öğelerinde zorunlu alt öğe <Value> tanımlanmamışsa oluşur.
Teşhis
Hata mesajından Generate JWT politikasının adını belirleyin. Örneğin, aşağıdaki hata mesajında Generate JWT politikasının adı
JWT-Generate-HS256'dır.Invalid Key configuration : policy(JWT-Generate-HS256).Başarısız olan JWT oluşturma politikası XML'sini inceleyin ve
<Value>alt öğesinin<PrivateKey>veya<SecretKey>öğelerinde tanımlanıp tanımlanmadığını doğrulayın.<Value>tanımlanmamışsa hatanın nedeni budur.Örneğin, aşağıdaki politikada
<Value>alt öğesi,<SecretKey>öğesinde tanımlanmamıştır:<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>Generate JWT politikasının
<SecretKey>öğesinde<Value>alt öğesi tanımlanmadığı için şu hatayı alırsınız:Invalid Key configuration : policy(JWT-Generate-HS256).
Çözünürlük
Generate JWT politikasının <PrivateKey> veya <SecretKey> öğelerinde <Value> alt öğesinin her zaman tanımlandığından emin olun.
Yukarıda gösterilen örnek JWT oluşturma politikasını düzeltmek için <Value> alt öğesini <SecretKey> öğesi altında aşağıdaki gibi tanımlayın:
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Empty Element for Key Configuration : policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, <PrivateKey> veya <SecretKey> öğelerinin alt öğesi olan <Value> öğesindeki ref özelliği belirtilmemişse veya boşsa oluşur.
Örneğin, <SecretKey> öğesinin <Value> alt öğesi boşsa hata oluşur.
Teşhis
Hata mesajından JWT oluşturma politikasının adını ve boş öğe adını belirleyin. Örneğin, aşağıdaki hata mesajında, JWT oluşturma politikasının adı
JWT-Generate-HS256, boş öğe adı iseSecretKey/Value'dir.Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).Başarısız olan JWT oluşturma politikası XML'sini inceleyin ve 1. adımda tanımlanan öğenin boş olup olmadığını doğrulayın. Boşsa hatanın nedeni budur.
Örneğin, aşağıdaki politika,
<SecretKey>öğesinin alt öğesi olan<Value>öğesinin boş olduğunu gösteriyor:<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>Generate JWT politikasındaki
<SecretKey>öğesinin alt öğesi<Value>boş olduğundan şu hatayı alırsınız:Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Çözünürlük
<PrivateKey> veya <SecretKey> öğelerinin alt öğesi <Value>'daki ref özelliğinin her zaman belirtildiğinden ve "private." önekine sahip olduğundan emin olun.
Yukarıda gösterilen örnek JWT oluşturma politikasını düzeltmek için private.privatekey öğesinin <SecretKey> öğesindeki alt öğe <Value> içinde akış değişkenini kullanın.
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Invalid variable name for secret : policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, <PrivateKey> veya <SecretKey> öğelerinin <Value> alt öğesindeki ref özelliğinde belirtilen akış değişkeni adı, özel ön eki (private.) içermiyorsa oluşur.
For example :
Akış değişkeni adı, <PrivateKey> öğesinin <Value> alt öğesinin ref özelliğinde mykey olarak belirtilirse bu hata oluşur.
Teşhis
Hata mesajından, JWT oluşturma politikasının adını ve geçersiz değişken adına sahip öğenin adını belirleyin. Örneğin, aşağıdaki hata mesajında Generate JWT politikasının adı
JWT-Generate-HS256, öğe adı iseSecretKey/Value'dir.Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).Başarısız olan JWT politikası XML'sini inceleyin ve 1. adımda tanımlanan öğede kullanılan değişken adını doğrulayın. Değişken adında
private.öneki yoksa hatanın nedeni budur.Örneğin, aşağıdaki politika,
<SecretKey>öğesinin alt öğesi olan<Value>öğesinin geçersiz değişken adımykey'ya sahip olduğunu gösteriyor:<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>Generate JWT politikasının
<SecretKey>öğesinin<Value>alt öğesinde belirtilen değişken adındaprivate.öneki bulunmadığından şu hatayı alırsınız:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Çözünürlük
<PrivateKey> veya <SecretKey> öğelerinin alt öğesi <Value>'daki ref özelliğinin her zaman belirtildiğinden ve private. önekine sahip olduğundan emin olun.
Yukarıda gösterilen örnek JWT oluşturma politikasını düzeltmek için <SecretKey> öğesinin <Value> alt öğesinde private.privatekey akış değişkenini kullanın:
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, değer (gizli anahtar) şu yerlerde açıkça belirtilmişse oluşur:
<PrivateKey>öğesinin alt öğeleri<Value>veya<Password>ya da<SecretKey>öğesinin alt öğesi<Value>
JWT oluşturma politikasında.
Örneğin, <SecretKey> öğesinin <Value> alt öğesinde gizli anahtar açıkça abc olarak belirtilmişse bu hata oluşur.
Teşhis
Hata mesajından, Generate JWT politikasının adını ve gizli dizinin açıkça belirtildiği öğe adını belirleyin. Örneğin, aşağıdaki hata mesajında Generate JWT politikasının adı
JWT-Generate-HS256, öğe adı iseSecretKey/Value'dir.Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).Başarısız olan JWT oluşturma politikası XML'sini inceleyin ve 1. adımda tanımlanan öğede sırrın açıkça belirtilip belirtilmediğini doğrulayın. Açıkça belirtilmişse hatanın nedeni budur.
Örneğin, aşağıdaki politikada, gizli dizinin
<SecretKey>öğesinin<Value>alt öğesinde açıkça belirtildiği gösterilmektedir:<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>Generate JWT politikasının
<SecretKey>öğesinin<Value>alt öğesinde gizli anahtar açıkça belirtildiğinden şu hatayı alırsınız:Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Çözünürlük
Değerin her zaman <PrivateKey> veya <SecretKey> öğelerinin <Value> alt öğesinde akış değişkeni olarak belirtildiğinden emin olun.
Yukarıda gösterilen örnek JWT oluşturma politikasını düzeltmek için <SecretKey> öğesinin <Value> alt öğesinin ref özelliğinde private.secretkey akış değişkenini kullanın:
<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
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:
Error Saving Revision 2 Invalid Time format: policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde, bir hata içeren iletişim kutusu gösterilir:

Neden
Bu hata, <NotBefore> öğesinde belirtilen değer desteklenen biçimlerden biri değilse oluşur:
sortable, RFC 1123, RFC 850, ANCI-C
Örneğin, <NotBefore> içinde belirtilen değer, desteklenmeyen bir biçim olan 20-JUN-1990 08:03 ise bu hata oluşur.
<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
Teşhis
Hata mesajından, JWT oluşturma politikasının adını ve geçersiz zaman biçimine sahip öğe adını belirleyin. Örneğin, aşağıdaki hata mesajında Generate JWT politikasının adı
JWT-Generate-HS256, öğe adı iseNotBefore'dir.Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).Başarısız olan JWT oluşturma politikası XML'sini inceleyin ve 1. adımda tanımlanan öğede kullanılan zaman biçimini doğrulayın. Öğe, desteklenen biçimlerden herhangi birini kullanmıyorsa:
sortable,RFC 1123,RFC 850,ANCI-CBu durumda hatanın nedeni budur.
Örneğin, aşağıdaki politikada alt öğe
<NotBefore>'nın desteklenmeyen bir zaman biçimi kullandığı gösterilmektedir:<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>Generate JWT politikasının
<NotBefore>öğesi desteklenen zaman biçimlerinden hiçbirini kullanmadığı için şu hatayı alırsınız:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Çözünürlük
<NotBefore> öğesinde belirtilen değerin desteklenen biçimlerden birini kullandığından emin olun:
sortable, RFC 1123, RFC 850, ANCI-C
Generate JWT politikasındaki örneği düzeltmek için <NotBefore> öğesindeki tarihi aşağıdaki gibi sortable biçimini kullanacak şekilde değiştirin:
<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>