Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
InvalidNameForAdditionalClaim
Hata mesajı
API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:
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 talebin adı aşağıdaki kayıtlı adlardan biri olduğunda ortaya çıkar:
"çocuk", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
Kayıtlı hak talepleri, RFC7519'da belirtilmiştir.
Örneğin, <AdditionalClaims>
öğesi altında iss
hak talebi adının kullanılması bu hataya neden olur.
Teşhis
Doğrulama JWT politikasının adını ve hak talebi adını hata mesajından belirleyin. Örneğin, aşağıdaki hata mesajında "JWT'yi Doğrula" politikasının adı
JWT-Verify-RS256
, hak talebi adı iseiss
:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Başarısız JWT politikası XML doğrulamasında
<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 talebini, hata mesajındakiyle eşleşeniss
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="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'yi Doğrula politikası örneğinde,
<Claim>
adı<AdditionalClaims>
öğesi altındaiss
olarak belirtilmiş ve şu hataya yol açmaktadır:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Çözünürlük
"Çocuk", "iss", "sub", "aud", "iat", "exp", "nbf" kayıtlı adlarından hiçbirini kullanmayın. veya "jti" <AdditionalClaims>
öğesinin <Claim>
alt öğesinde.
Örnek JWT'yi doğrula politikasıyla 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 üzerinden dağıtılması şu hata mesajını gösterir:
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
VerifyJWT politikasının <AdditionalClaims>
öğesinin <Claim>
alt öğesinde kullanılan hak talebinin 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'yi Doğrula" 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'yi Doğrula" politikasının adı
JWT-Verify-RS256
, hak talebi adıclaim
ve türüinteger:
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Başarısız olan JWT politikası XML doğrulamasındaki
<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
, türü ise 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ı örneğinde,
<Claim>
türü<AdditionalClaims>
öğesinin altındainteger
olarak belirtilmiştir.integer
desteklenmeyen bir tür olmadığı için ş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ğrula" 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 üzerinden dağıtılması şu hata mesajını gösterir:
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, hak talebinin adı <AdditionalClaims>
veya <AdditionalHeaders>
öğesinin <Claim>
alt öğesinde belirtilmemişse ortaya çıkar.
Teşhis
Hata mesajındaki "JWT'yi Doğrula" politikasının adını belirleyin. Örneğin, aşağıdaki hata mesajında "JWT'yi doğrulayın" politikasının adı:
JWT-Verify-RS256
:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Başarısız olan JWT'yi Doğrulama politikası XML dosyasını inceleyin ve
<AdditionalClaims>
veya<AdditionalHeaders>
öğesinin altındaki<Claims>
alt öğesinde hak talebi adının eksik olduğunu doğrulayın. Örneğin, aşağıdaki "JWT'yi Doğrula" politikası,<AdditionalClaims>
öğesi altında hak talebi adını belirtmez:<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>
<Claim>
adı,<AdditionalClaims>
öğesi altında belirtilmediğinden hata 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
Hak talebinin adının her zaman <AdditionalClaims>
veya <AdditionalHeaders>
öğesinin alt öğesinde (<Claim>
) belirtildiğinden emin olun.
Örnek JWT'yi doğrula 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 üzerinden dağıtılması şu hata mesajını gösterir:
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 biri olduğunda ortaya çıkar:
alg
veya typ
Örneğin, <AdditionalHeaders>
öğesi altında alg
hak talebi adının kullanılması hataya neden olur.
Teşhis
Doğrulama JWT politikasının adını ve hata mesajındaki üstbilgi adını tanımlayın. Örneğin, aşağıdaki hata iletisinde, JWT'yi doğrula politikasının adı
JWT-Verify-RS256
, üstbilgi adı isealg
şeklindedir:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Başarısız olan JWT politikasını doğrulayın XML'deki
<AdditionalHeaders>
öğesinin altında bulunan<Claim>
alt öğesinde kullanılan üstbilgi adının, 1. adımdaki hata mesajında tanımlanan üstbilgi adıyla eşleştiğini doğrulayın. Örneğin, aşağıdaki politika, üst bilgiyi hata mesajındakiyle eşleşenalg
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/> <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'yi Doğrula politikası örneğinde,
<Claim>
adı<AdditionalClaims>
öğesi altındaalg
olarak belirtilmiş ve şu hataya yol açmaktadır:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Çözünürlük
<AdditionalHeaders>
öğesinin <Claim>
alt öğesinde alg
veya typ
standart JWT başlıklarını kullanmayın.
Örnek "JWT'yi Doğrula" 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 üzerinden dağıtılması şu hata mesajını gösterir:
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
Bu hata, "JWT'yi Doğrula" politikasının <AdditionalHeaders>
öğ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, <AdditionalHeaders>
öğesi altında integer
hak talebi türünün kullanılması hataya neden olur.
Teşhis
JWT'yi doğrula 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'yi Doğrula" politikasının adı
JWT-Verify-RS256
, hak talebi adıclaim
, türü iseinteger
:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Başarısız olan JWT politikası XML doğrulamasındaki
<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
, hak talebi türünü ise 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/> <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ı örneğinde,
<AdditionalHeaders>
öğesinin altındaki<Claim>
türüinteger
olarak belirtilmiştir.integer
desteklenmeyen bir tür olmadığı için ş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ğrula" 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 üzerinden dağıtılması şu hata mesajını gösterir:
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 öğesindeki dizi özelliğinin değeri true
veya false
olarak ayarlanmadığında ortaya çıkar.
Örneğin, dizi özelliğinin değerinin <AdditionalClaims>
veya <AdditionalHeaders>
öğesinin <Claim>
alt öğesinde yes
olarak ayarlanması hataya neden olur.
Teşhis
Doğrulama JWT politikasının adını ve hak talebi adını hata mesajından belirleyin. Örneğin, aşağıdaki hata mesajında "JWT'yi doğrulayın" politikasının adı
JWT-Verify-RS256
, hak talebi adı iseclaim
:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Başarısız olan JWT politikasını doğrulayın XML'deki
<AdditionalHeaders>
öğesinin 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 politika, hak talebi adını hata mesajındaki adla eşleşenclaim
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='string' array='yes'/> </AdditionalClaims> </VerifyJWT>
<AdditionalClaims>
öğesinin<Claim>
alt öğesindekiarray
özelliğinin değeritrue
veyafalse
olarak ayarlanmadıysa hatanın nedeni budur.<AdditionalClaims>
öğesinin<Claim>
alt öğesindekiarray
özelliği yukarıdaki örnekteyes
olarak ayarlandığından hata 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ğrula 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 üzerinden dağıtılması şu hata mesajını gösterir:
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 olmadığında ortaya çıkar:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
Örneğin, algoritma değerinin <Algorithm>
öğesinde RS128
olarak belirtilmesi bu hataya neden olur.
Teşhis
Doğrulama JWT politikasının adını ve öğe adını hata mesajından belirleyin. Ö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 politikası XML dosyasını inceleyin ve
<Algorithm>
öğesi için belirtilen değeri kontrol edin.JWT'yi doğrulama politikasının örneğini aşağıda bulabilirsiniz:
<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ğrula" politikası örneğinde,
<Algorithm>
adıHS128
olarak belirtilmiştir. Bu, desteklenen bir algoritma olmadığından hata mesajı 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 ve <SecretKey>
öğesini kullanan örnek Doğrulama JWT 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 üzerinden dağıtılması şu hata mesajını gösterir:
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ğrulama politikasında RSA Aile algoritmalarıyla kullanılmadığında ortaya çıkar. Benzer şekilde, <SecretKey>
öğesi HS Family algoritmalarıyla kullanılmazsa da hata oluşabilir.
Örneğin, <PublicKey>
öğesinin RSA Aile algoritmalarıyla kullanılmaması bu hataya neden olur.
Teşhis
Hata mesajındaki "JWT Doğrulama" politikasının adını ve eksik öğe adını tanımlayın. Örneğin, aşağıdaki hata mesajında "JWT'yi Doğrula" politikasının adı
JWT-Verify-RS256
, eksik öğe adı isePublicKey
:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Başarısız "JWT Doğrulama" politikası XML dosyasını inceleyin ve hata mesajında belirtilen öğenin eksik olduğunu doğrulayın. Eksikse hatanın nedeni budur.
Örneğin, aşağıdaki politika
PublicKey
eksik,Algorithm
özelliğinin iseRS256
olduğunu göstermektedir:<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>
"JWT'yi Doğrula" politikası örneği, HS Aile algoritmalarını kullanır, ancak zorunlu
PublicKey
öğesi eksik olduğundan hata ortaya çıkar:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Çözünürlük
Zorunlu <PublicKey>
öğesinin RSA Aile algoritmalarıyla kullanıldığından ve zorunlu <SecretKey>
öğesinin HS Aile algoritmalarıyla kullanıldığından emin olun.
Yukarıda gösterilen ve RS256 algoritmasını kullanan Doğrulama JWT politikasını düzeltmek için <PublicKey>
öğesini VerifyJWT 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 üzerinden dağıtılması şu hata mesajını gösterir:
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ğrula politikasının <PublicKey>
veya <SecretKey>
öğelerinde tanımlanmamışsa ortaya çıkar.
Teşhis
Hata mesajındaki "JWT'yi Doğrula" politikasının adını belirleyin. Örneğin, aşağıdaki hata mesajında "JWT'yi doğrulayın" politikasının adı:
JWT-Verify-RS256
:Invalid Key configuration : policy(JWT-Verify-RS256).
Başarısız JWT'yi Doğrulama politikası XML dosyasını inceleyin ve
<Value>
alt öğesi veya<JWKS>
alt öğesinin<PublicKey>
ya da<SecretKey>
öğelerinde tanımlanmadığını doğrulayın. Alt öğe tanımlanmamışsa hatanın nedeni budur.Örneğin, aşağıdaki politika,
<Value>
veya<JWKS>
alt öğesinin<PublicKey>
öğesinde tanımlanmadığını gösterir:<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ğrulama 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ğrulama politikasının <PublicKey>
öğesinde her zaman tanımlandığından emin olun.
Örnek "JWT Doğrulama" politikasını düzeltmek için <PublicKey>
öğesinin altında, aşağıda gösterildiği gibi <Value>
veya <JWKS>
alt öğesini 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 üzerinden dağıtılması şu hata mesajını gösterir:
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ş ya da boş olduğunda ortaya çıkar.
Örneğin, <PublicKey>
öğesinin <Value>
alt öğesi boşsa hata oluşur.
Teşhis
Doğrulama JWT 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 olan JWT'yi Doğrulama politikası XML dosyasını 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 politika
<PublicKey>
öğesinin<Value>
alt öğesinin boş olduğunu gösterir:<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ğundan ş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ğrula" 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 üzerinden dağıtılması şu hata mesajını gösterir:
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 VerifyJWT politikasının <SecretKey>
öğesi içinde tanımlanırsa meydana gelir.
Örneğin, <Id>
öğesi <SecretKey>
öğesinde tanımlıysa bu hata oluşur.
Teşhis
Doğrulama JWT 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 olan JWT'yi Doğrulama politikası XML dosyasını 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 politika
<SecretKey>
öğesinin<Id>
alt öğesinin tanımlandığını gösterir:<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>
öğesinde 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, "JWT Doğrulama" politikasının <SecretKey>
öğesinde hiçbir zaman tanımlanmadığından emin olun.
Örnek "JWT'yi Doğrula" politikasını düzeltmek için <SecretKey>
öğesinden <Id>
alt öğesini 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 üzerinden dağıtılması şu hata mesajını gösterir:
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ş olduğunda ortaya çıkar. Bu değişken varsa bir Sınır akış değişkeni adıyla tanımlanmalıdır.
Teşhis
Doğrulama JWT 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 olan JWT'yi Doğrulama politikası XML dosyasını 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 politika
<Source>
öğesinin boş olduğunu gösterir:<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>
Doğrulama JWT politikasının
<Source>
öğesi boş olduğundan şu hatayı alırsınız:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Çözünürlük
"JWT Doğrulama" politikasının <Source>
öğesi varsa bunun bir akış değişkeni belirttiğinden emin olun.
Örnek JWT'yi doğrula 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 üzerinden dağıtılması şu hata mesajını gösterir:
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 belirtilen geçerli bir biçimde değilse ortaya çıkar.
Örneğin, <PublicKey>
öğesinin altında <JWKS>
alt öğesi olarak abc
kullanılması bu hataya neden olur.
Teşhis
Doğrulama JWT politikasının adını ve hata mesajındaki geçersiz değer 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ı daPublicKey/JWKS
:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Başarısız JWT'yi Doğrulama politikası XML'ini inceleyin ve 1. adımda tanımlanan öğenin RFC 7517'ye göre 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'ye göre geçerli bir biçimde olmadığından hata 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.
Örnek "JWT'yi Doğrula" 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 üzerinden dağıtılması şu hata mesajını gösterir:
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ıyla ve <SecretKey>
öğesi RSA Aile algoritmalarıyla kullanıldığında ortaya çıkar. Hata, bu koşullardan biri doğru olduğunda da oluşur.
Örneğin, <PublicKey>
öğesinin HS Family algoritmalarıyla kullanılması bu hataya neden olur.
Teşhis
Hata mesajındaki JWT'yi doğrula politikasının adını, öğe adını ve algoritma aile adını tanımlayın. Örneğin, aşağıdaki hata mesajında "JWT'yi Doğrula" 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 politikası XML dosyasını doğrulama işleminde kullanılan öğe ve algoritma ailesinin, 1. adımdaki hata mesajında belirtilen öğeyle ve algoritma ailesiyle eşleştiğini doğrulayın. Örneğin, aşağıdaki politikada öğeyi
PublicKey
ve algoritma ailesiHMAC
olarak belirtiliyor. Bu durumda, hata mesajındaki öğelerle eşleşen bir değer var.<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>
kullandıysanız hatanın nedeni budur.Yukarıda gösterilen JWT'yi doğrulayın politikası örneğinde,
<Algorithm>
bir aile algoritması HS256 olarak ayarlanmış olmasına rağmen<PublicKey>
öğesi kullanılmış. Bu durumda hata ortaya çıkar: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 Aile algoritmalarıyla kullanıldığından ve <SecretKey>
öğesinin yalnızca HS Aile algoritmalarıyla kullanıldığından emin olun.
"JWT'yi Doğrula" politikasını düzeltmek için HS256 algoritmasını kullanan VerifyJWT politikasındaki <SecretKey>
parametresini 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>