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ılması şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number 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-Verify-RS256) claim(iss).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, <AdditionalClaims>
öğesinin <Claim>
alt öğesinde kullanılan hak talebinin adı aşağıdaki kayıtlı adlardan biriyse ortaya çıkar:
"çocuk", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
Kayıtlı talepler RFC7519'da belirtilmiştir.
Örneğin, <AdditionalClaims>
öğesi altında iss
hak talebi adının kullanılması bu hataya neden olur.
Teşhis
Hata mesajındaki JWT Doğrulama politikasının ve hak talebi adını tanımlayın. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-RS256
, hak talebinin adı iseiss
şeklindedir:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Başarısız olan JWT doğrulama politikası XML'indeki
<AdditionalClaims>
öğesi altında kullanılan hak talebi adının, 1. adımdaki hata mesajında belirtilen hak talebi adıyla eşleştiğini doğrulayın. Örneğin, aşağıdaki politika hak talebiniiss
olarak belirtir ve bu değer, hata mesajındaki metinle eşleşir:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="iss"/> </AdditionalClaims> </VerifyJWT>
<AdditionalClaims>
öğesinin<Claim>
alt öğesinde kullanılan hak talebi adı aşağıdaki kayıtlı adlardan biriyse:"çocuk", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
hatanın nedeni budur.
Yukarıda gösterilen JWT Doğrulama politikasındaki
<Claim>
adı,<AdditionalClaims>
öğesi altındaiss
olarak belirtilerek şu hataya neden olur:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Çözünürlük
<AdditionalClaims>
öğesinin <Claim>
alt öğesinde "kid", "iss", "sub", "aud", "iat", "exp", "nbf" veya "jti" kayıtlı adlarından hiçbirini kullanmayın.
Örnek JWT'yi Doğrulama politikası ile ilgili sorunu düzeltmek için hak talebi adını status
olarak değiştirin:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
InvalidTypeForAdditionalClaim
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number 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-Verify-RS256) claim(claim) type(integer).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
DoğrulamaJWT politikasının <AdditionalClaims>
öğesinin <Claim>
alt öğesinde kullanılan hak talebi türü aşağıdaki türlerden biri değil:
string
(varsayılan), number
, boolean
veya map
Örneğin, <AdditionalClaims>
öğesi altında integer
hak talebi türünün kullanılması hatayla sonuçlanır.
Teşhis
JWT Doğrulama politikasının adını, hak talebinin adını ve hata mesajındaki türü tanımlayın. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-RS256
, hak talebinin adıclaim
ve türüinteger:
'dir.Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Başarısız JWT Doğrulama politikası XML'indeki
<AdditionalClaims>
öğesi altında kullanılan hak talebi adının ve türün, 1. adımdaki hata mesajında belirtilen hak talebi adı ve türüyle eşleştiğini doğrulayın. Örneğin, aşağıdaki politika, hak talebiniclaim
ve türü, hata mesajındakiyle eşleşeninteger
olarak belirtir:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </VerifyJWT>
<AdditionalClaims>
öğesinin<Claim>
alt öğesinde kullanılan hak talebi türü aşağıdaki türlerden biri değilse:string
(varsayılan),number
,boolean
veyamap
hatanın nedeni budur.
Yukarıda gösterilen JWT'yi Doğrula politikasındaki örnekte
<Claim>
türü,<AdditionalClaims>
öğesi altındainteger
olarak belirtilir.integer
desteklenen bir tür olmadığından şu hatayı alırsınız:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Çözünürlük
<AdditionalClaims>
öğesinin <Claim>
alt öğesinde yalnızca desteklenen string
(varsayılan), number
, boolean
veya map
veri türlerinin kullanıldığından emin olun.
Örnek JWT'yi Doğrulama politikasını düzeltmek için hak talebi türünü boolean
olarak değiştirin:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
MissingNameForAdditionalClaim
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number 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-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, iddianın adı <AdditionalClaims>
veya <AdditionalHeaders>
öğesinin <Claim>
alt öğesinde belirtilmemişse ortaya çıkar.
Teşhis
Hata mesajındaki JWT Doğrulama politikasının adını belirleyin. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-RS256
şeklindedir:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Başarısız JWT politikası XML'ini inceleyin ve
<AdditionalClaims>
veya<AdditionalHeaders>
öğesi altındaki<Claims>
alt öğesinde hak talebi adının eksik olduğunu doğrulayın. Örneğin, aşağıdaki JWT Doğrulama politikasında<AdditionalClaims>
öğesi altında hak talebi adı belirtilmiyor:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </VerifyJWT>
<AdditionalClaims>
öğesi altında<Claim>
adı belirtilmediği için şu hatayı alırsınız:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Çözünürlük
İddia adının her zaman <AdditionalClaims>
veya <AdditionalHeaders>
öğesinin <Claim>
alt öğesinde belirtildiğinden emin olun.
Örnek JWT'yi Doğrulama politikasını düzeltmek için hak talebi adını aşağıda gösterildiği gibi belirtin:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
InvalidNameForAdditionalHeader
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number 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-Verify-RS256) header(alg).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, <AdditionalHeaders>
öğesinin <Claim>
alt öğesinde kullanılan talebin adı aşağıdaki standart JWT başlıklarından biriyse ortaya çıkar:
alg
veya typ
Örneğin, <AdditionalHeaders>
öğesi altında alg
hak talebi adının kullanılması hataya neden olur.
Teşhis
Hata mesajındaki JWT Doğrulama politikasının adını ve üstbilgi adını tanımlayın. Örneğin, aşağıdaki hata mesajında JWT Doğrulama politikasının adı
JWT-Verify-RS256
, üstbilgi adıalg
şeklindedir:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Başarısız JWT politikası XML'indeki
<AdditionalHeaders>
öğesinin altındaki<Claim>
alt öğesinde kullanılan üstbilgi adının, 1. adımdaki hata mesajında tanımlanan başlık adıyla eşleştiğini doğrulayın. Örneğin, aşağıdaki politikada üstbilgi, hata mesajındaki metinle eşleşenalg
olarak belirtilir:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </VerifyJWT>
<AdditionalClaims>
öğesinin<Claim>
alt öğesinde kullanılan başlık adı aşağıdaki standart JWT başlıklarından biriyse:alg
veyatyp
hatanın nedeni budur.
Yukarıda gösterilen JWT Doğrulama politikasındaki
<Claim>
adı,<AdditionalClaims>
öğesi altındaalg
olarak belirtilerek şu hataya neden olur:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Çözünürlük
<AdditionalHeaders>
öğesinin <Claim>
alt öğesinde standart alg
veya typ
JWT başlıklarını kullanmayın.
Örnek JWT Doğrulama politikasını düzeltmek için <AdditionalHeaders>
öğesinin <Claim>
alt öğesinde x5c
adını kullanın:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidTypeForAdditionalHeader
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number 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-Verify-RS256) claim(claim1) type(integer).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Hata, JWT'yi Doğrulama politikasının <AdditionalHeaders>
öğesinin <Claim>
alt öğesinde kullanılan hak talebi türü aşağıdaki türlerden biri değilse ortaya çıkar:
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
JWT Doğrulama politikasının adını, hak talebi adını ve hata mesajındaki türü tanımlayın. Örneğin aşağıdaki hata mesajında JWT Doğrulama politikasının adı
JWT-Verify-RS256
, hak talebi adıclaim
ve türüinteger
'dir:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Başarısız JWT Doğrulama politikası XML'indeki
<AdditionalClaims>
öğesi altında kullanılan hak talebi adının ve türün, 1. adımdaki hata mesajında belirtilen hak talebi adı ve türüyle eşleştiğini doğrulayın. Örneğin, aşağıdaki politikada hak talebiclaim
, hak talebi türü ise hata mesajındakiyle eşleşeninteger,
olarak belirtilir:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </VerifyJWT>
<AdditionalHeaders>
öğesinin<Claim>
alt öğesinde kullanılan hak talebi türü aşağıdaki türlerden biri değilse:string
(varsayılan),number
,boolean
veyamap
hatanın nedeni budur.
Yukarıda gösterilen JWT'yi Doğrula politikasında,
<AdditionalHeaders>
öğesi altındaki<Claim>
türüinteger
olarak belirtilmiştir.integer
desteklenen bir tür olmadığından şu hatayı alırsınız:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Çözünürlük
<AdditionalHeaders>
öğesinin <Claim>
alt öğesinde yalnızca desteklenen string
, number
, boolean
veya map
veri türlerinin kullanıldığından emin olun.
Örnek JWT'yi Doğrulama politikasını düzeltmek için hak talebi türünü boolean
olarak değiştirin:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueOfArrayAttribute
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number 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-Verify-RS256) claim(claim).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, <AdditionalClaims>
veya <AdditionalHeaders>
öğesinin <Claim>
alt öğesinde yer alan dizi özelliğinin değeri true
veya false
olarak ayarlanmamışsa ortaya çıkar.
Örneğin, <AdditionalClaims>
veya <AdditionalHeaders>
öğesinin <Claim>
alt öğesinde dizi özelliğinin değerinin yes
olarak ayarlanması hataya neden olur.
Teşhis
Hata mesajındaki JWT Doğrulama politikasının ve hak talebi adını tanımlayın. Örneğin, aşağıdaki hata mesajında JWT Doğrulama politikasının adı
JWT-Verify-RS256
, hak talebi adı iseclaim
şeklindedir:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Başarısız JWT politikası XML'indeki
<AdditionalHeaders>
öğesi altındaki<Claim>
alt öğesinde kullanılan hak talebi adının, 1. adımdaki hata mesajında belirtilen hak talebi adıyla eşleştiğini doğrulayın. Örneğin, aşağıdaki politikada hak talebi adı, hata mesajındaki adla eşleşenclaim
olarak belirtilmektedir:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </VerifyJWT>
<AdditionalClaims>
öğesinin<Claim>
alt öğesindekiarray
özelliğinin değeritrue
veyafalse
olarak ayarlanmamışsa hatanın nedeni budur.Yukarıdaki örnekte
<AdditionalClaims>
öğesinin<Claim>
alt öğesindekiarray
özelliğiyes
olarak ayarlandığından şu hatayı alırsınız:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Çözünürlük
<AdditionalClaims>
veya <AdditionalHeaders>
öğelerinin <Claim>
alt öğesindeki dizi özelliği değerinin true
veya false
olarak ayarlandığından emin olun.
Yukarıda gösterilen JWT'yi Doğrulama politikasını düzeltmek için dizi özelliğinin değerini true
olarak değiştirin:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueForElement
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, <Algorithm>
öğesinde belirtilen değer aşağıdaki değerlerden biri değilse ortaya çıkar:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
Örneğin, algoritma değerinin <Algorithm>
öğesinde RS128
olarak belirtilmesi bu hataya yol açar.
Teşhis
Hata mesajındaki JWT Doğrulama politikasının adını ve öğe adını tanımlayın. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-RS256
, öğe adı iseAlgorithm
şeklindedir:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Başarısız olan JWT doğrulama politikası XML'ini inceleyin ve
<Algorithm>
öğesi için belirtilen değeri kontrol edin.Aşağıda, JWT Doğrulama politikası örneği verilmiştir:
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS128</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </VerifyJWT>
<Algorithm>
öğesinde belirtilen değeri inceleyin. Aşağıdaki değerlerden biri değilse:HS256
,HS384
,HS512
,RS256
,RS384
,RS512
hatanın nedeni budur.
Yukarıda gösterilen JWT'yi Doğrulama politikasında
<Algorithm>
adıHS128
olarak belirtilmiştir. Bu desteklenen bir algoritma olmadığı için şu hatayı alırsınız:Invalid Value for element : policy(JWT-Verify-RS256) 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, <SecretKey>
öğesini kullanan JWT Doğrulama 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.
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
MissingConfigurationElement
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, <PublicKey>
öğesi, JWT'yi Doğrula politikasında RSA Ailesi algoritmalarıyla kullanılmadığında ortaya çıkar. Benzer şekilde, <SecretKey>
öğesi, JWT'yi Doğrula politikasında HS Family algoritmalarıyla kullanılmazsa da hata oluşabilir.
Örneğin, <PublicKey>
öğesinin RSA Aile algoritmalarıyla kullanılmaması bu hataya yol açar.
Teşhis
JWT Doğrulama politikasının adını ve hata mesajındaki eksik öğe adını tanımlayın. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-RS256
, eksik öğe adı isePublicKey
şeklindedir:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Başarısız JWT Doğrulama politikası XML'ini inceleyin ve hata mesajında belirtilen öğenin eksik olduğunu doğrulayın. Eksikse hatanın nedeni budur.
Örneğin, aşağıdaki politikada
PublicKey
eksik, kullanılanAlgorithm
iseRS256
gösterilmektedir:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
Örnekteki JWT Doğrulama politikası, HS Family algoritmalarını kullanır ancak zorunlu
PublicKey
öğesi eksik olduğundan şu hataya neden oluyor:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Çözünürlük
Zorunlu <PublicKey>
öğesinin RSA Family algoritmaları ile, zorunlu <SecretKey>
öğesinin de HS Family algoritmaları ile kullanıldığından emin olun.
Yukarıda gösterilen ve RS256 algoritmasını kullanan JWT doğrulama örneğini düzeltmek için, <PublicKey>
öğesini VerificationJWT politikasına ekleyin:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Algorithm>RS256</Algorithm>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidKeyConfiguration
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Örnek hata mesajı
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, <Value>
alt öğesi veya zorunlu <JWKS>
alt öğesi, JWT'yi Doğrulama politikasının <PublicKey>
veya <SecretKey>
öğelerinde tanımlanmamışsa ortaya çıkar.
Teşhis
Hata mesajındaki JWT Doğrulama politikasının adını belirleyin. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-RS256
şeklindedir:Invalid Key configuration : policy(JWT-Verify-RS256).
Başarısız JWT doğrulama politikası XML'ini inceleyin ve
<Value>
alt öğesinin veya<JWKS>
alt öğesinin<PublicKey>
veya<SecretKey>
öğelerinde tanımlanıp tanımlanmadığını doğrulayın. Alt öğe tanımlanmamışsa hatanın nedeni budur.Örneğin, aşağıdaki politikada
<Value>
veya<JWKS>
alt öğesinin<PublicKey>
öğesinde tanımlanmadığı gösterilmektedir:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
<Value>
veya<JWKS>
alt öğesi, JWT'yi Doğrula politikasının<PublicKey>
öğesinde tanımlanmadığından şu hatayı alırsınız:Invalid Key configuration : policy(JWT-Verify-RS256).
Çözünürlük
<Value>
veya <JWKS>
alt öğesinin, JWT'yi Doğrula politikasının <PublicKey>
öğesinde her zaman tanımlandığından emin olun.
Örnek JWT Doğrulama politikasını düzeltmek için <PublicKey>
öğesi altında <Value>
veya <JWKS>
alt öğesini aşağıda gösterildiği gibi tanımlayın:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</PublicJWT>
EmptyElementForKeyConfiguration
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number 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-Verify-RS256) element(PublicKey/Value).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, <PublicKey>
öğesinin <Value>
veya <JWKS>
alt öğesindeki ref özelliği belirtilmemiş veya boşsa ortaya çıkar.
Örneğin <PublicKey>
öğesinin <Value>
alt öğesi boşsa hata meydana gelir.
Teşhis
JWT Doğrulama politikasının adını ve hata mesajındaki boş öğe adını tanımlayın. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-RS256
, öğe adı isePublicKey/Value
şeklindedir:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Başarısız JWT Doğrulama politikası XML'ini inceleyin ve 1. adımda tanımlanan öğenin boş olduğunu doğrulayın. Boşsa hatanın nedeni budur.
Örneğin, aşağıdaki politikada
<PublicKey>
öğesinin<Value>
alt öğesinin boş olduğu gösterilmektedir:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> <Value/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
JWT'yi Doğrulama politikasının
<PublicKey>
öğesinin<Value>
alt öğesi boş olduğu için şu hatayı alırsınız:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Çözünürlük
<PublicKey>
öğesinin <Value>
veya <JWKS>
alt öğesindeki ref özelliğinin her zaman belirtildiğinden emin olun.
Örnek JWT'yi Doğrulama politikasını düzeltmek için <PublicKey>
öğesinin <Value>
alt öğesinde public.publickey
akış değişkenini kullanın:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidConfigurationForVerify
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, <Id>
öğesi bir VerificationJWT politikasının <SecretKey>
öğesi içinde tanımlanırsa ortaya çıkar.
Örneğin, <Id>
öğesi <SecretKey>
öğesinde tanımlanırsa bu hata oluşur.
Teşhis
JWT Doğrulama politikasının adını ve hata mesajındaki geçersiz öğe adını tanımlayın. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-RS256
, öğe adı iseSecretKey/Id
şeklindedir:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Başarısız JWT Doğrulama politikası XML'ini inceleyin ve 1. adımda tanımlanan geçersiz öğenin tanımlandığını doğrulayın. Tanımlanmışsa hatanın nedeni budur.
Örneğin, aşağıdaki politikada
<SecretKey>
öğesinin<Id>
alt öğesinin tanımlandığı gösterilmektedir:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="private.secretkey"/> <Id/> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
<Id>
öğesi, JWT'yi Doğrulama politikasının<SecretKey>
öğesi içinde tanımlandığı için şu hatayı alırsınız:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Çözünürlük
<Id>
öğesinin, bir JWT'yi Doğrulama politikasının <SecretKey>
öğesi içinde hiçbir zaman tanımlanmadığından emin olun.
Örnek JWT Doğrulama politikasını düzeltmek için <Id>
alt öğesini <SecretKey>
öğesinden kaldırın:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref='private.secretkey'/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidEmptyElement
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, JWT'yi Doğrula politikasının <Source>
öğesi boşsa ortaya çıkar. Varsa Edge akışı değişken adıyla tanımlanmalıdır.
Teşhis
JWT Doğrulama politikasının adını ve hata mesajındaki boş öğe adını tanımlayın. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-RS256
, öğe adı isePublicKey/Value
şeklindedir:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Başarısız JWT Doğrulama politikası XML'ini inceleyin ve 1. adımda tanımlanan öğenin boş olduğunu doğrulayın. Boşsa hatanın nedeni budur.
Örneğin, aşağıdaki politikada
<Source>
öğesinin boş olduğu gösterilmektedir:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Source></Source> <PublicKey> <Value ref="public.publickey"/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
JWT'yi Doğrula politikasının
<Source>
öğesi boş olduğu için şu hatayı alırsınız:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Çözünürlük
Bir JWT Doğrulama politikasının <Source>
öğesi varsa bir akış değişkeni belirttiğinden emin olun.
Örnek JWT'yi Doğrulama politikasını düzeltmek için <Source>
öğesinde geçerli bir akış değişkeni kullanın:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>jwt-variable</Source>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidPublicKeyValue
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
Örnek hata mesajı
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, <PublicKey>
öğesinin <JWKS>
alt öğesinde kullanılan değer RFC 7517'de belirtildiği gibi geçerli bir biçimde değilse ortaya çıkar.
Örneğin, <PublicKey>
öğesi altındaki <JWKS>
alt öğesinin değeri olarak abc
kullanılması bu hataya neden olur.
Teşhis
JWT'yi Doğrulama politikasının adını ve hata mesajındaki geçersiz bir değeri içeren öğe adını tanımlayın. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-RS256
, öğenin adı isePublicKey/JWKS
şeklindedir:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Başarısız JWT doğrulama politikası XML'ini inceleyin ve 1. adımda tanımlanan öğenin, RFC 7517'ye uygun şekilde geçerli biçimde bir değer içerdiğini doğrulayın. Öğenin değeri geçerli biçimde değilse hatanın nedeni budur.
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PublicKey> <JWKS>abc<JWKS> </PublicKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> </VerifyJWT>
<PublicKey>
öğesinin<JWKS>
alt öğesindeki değer RFC 7517 uyarınca geçerli bir biçimde olmadığından şu hatayı alırsınız:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Çözünürlük
<PublicKey>
öğesinin <JWKS>
alt öğesinde belirtilen değerin, geçerli bir JWKS biçimindeki (RFC 7517) geçerli bir dize veya akış değişkeni olduğundan emin olun.
JWT'yi Doğrulama politikasını düzeltmek için <JWKS>
değerini aşağıda gösterildiği gibi değiştirin:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<JWKS>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM</JWKS>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
</VerifyJWT>
InvalidConfigurationForActionAndAlgorithm
Hata mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision <var>revision_number</var>
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).
Örnek hata mesajı
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Örnek ekran görüntüsü
Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:
Neden
Bu hata, <PublicKey>
öğesi HS Family algoritmaları ile ve <SecretKey>
öğesi RSA Aile algoritmaları ile kullanıldığında ortaya çıkar. Hata, bu koşullardan biri doğru olduğunda da oluşur.
Örneğin, <PublicKey>
öğesini HS Family algoritmalarıyla kullanmak bu hataya yol açar.
Teşhis
Hata mesajındaki JWT Doğrulama politikasının adını, öğe adını ve algoritma ailesinin adını tanımlayın. Örneğin, aşağıdaki hata mesajında JWT'yi Doğrulama politikasının adı
JWT-Verify-HS256
, öğe adıPublicKey
ve algoritma ailesiRSA
şeklindedir:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Başarısız JWT Doğrulama politikası XML'inde kullanılan öğenin ve algoritma ailesinin, 1. adımdaki hata mesajında tanımlanan öğe ve algoritma ailesiyle eşleştiğini doğrulayın. Örneğin, aşağıdaki politikada öğe
PublicKey
, algoritma ailesi iseHMAC
olarak belirtilir. Bu, hata mesajındaki metinle eşleşir.<VerifyJWT name="JWT-Verify-HS256"> <DisplayName>JWT Verify HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request.formparam.jwt</Source> <PublicKey> <Value ref="var-value"/> </PublicKey> <SecretKey> <Value ref="private.secretkey"/> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> </VerifyJWT>
<Algorithm>
öğesinin değeriHS256
ise ancak<PublicKey>
öğesini kullandıysanız hatanın nedeni budur.Yukarıda gösterilen JWT'yi Doğrula politikasında,
<Algorithm>
öğesi HS256 aile algoritması olarak ayarlanmış olsa bile<PublicKey>
öğesi kullanılır ve şu hataya neden olur:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Çözünürlük
<PublicKey>
öğesinin yalnızca RSA Family algoritmalarıyla, <SecretKey>
öğesinin de yalnızca HS Family algoritmalarıyla kullanıldığından emin olun.
Örnek JWT'yi Doğrulama politikasını düzeltmek için HS256 algoritmasını kullanan VerificationJWT politikasındaki <SecretKey>
öğesini kullanın:
<VerifyJWT name="JWT-Verify-HS256">
<DisplayName>JWT Verify HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>request.formparam.jwt</Source>
<SecretKey>
<Value ref="private.secretkey"/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
</VerifyJWT>