Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
InvalidNameForAdditionalClaim
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision revision_number Invalid name for additional claim : policy(policy_name) claim(claim_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli nazwa roszczenia użyta w elemencie podrzędnym <Claim> elementu <AdditionalClaims> ma jedną z następujących zarejestrowanej nazwy:
„kid”, „iss”, „sub”, „aud”, „iat”, „exp”, „nbf”, „jti”
Zarejestrowane roszczenia są określone w RFC7519.
Na przykład użycie nazwy roszczenia iss w elemencie <AdditionalClaims> spowoduje ten błąd.
Diagnostyka
Wskaż nazwę zasady JWT i nazwę deklaracji z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-RS256, a nazwa deklaracji toiss:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).Sprawdź, czy nazwa deklaracji użyta w elemencie
<AdditionalClaims>w pliku XML zasady weryfikacji JWT jest zgodna z nazwą deklaracji w komunikacie o błędzie w kroku 1. Na przykład ta zasada określa roszczenie jakoiss, które jest zgodne z treścią komunikatu o błędzie:<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>Jeśli nazwa roszczenia użyta w elemencie podrzędnym
<Claim>elementu<AdditionalClaims>jest jedną z następujących zarejestrowanych nazw:„kid”, „iss”, „sub”, „aud”, „iat”, „exp”, „nbf”, „jti”
to jest jego przyczyną.
W powyższej przykładowej zasadzie weryfikacji tokena JWT w elemencie
<AdditionalClaims>nazwa<Claim>jest podana jakoiss, co powoduje błąd:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Rozdzielczość
Nie używaj żadnych zarejestrowanych nazw: „kid”, „iss”, „sub”, „aud”, „iat”, „exp”, „nbf” lub „jti” w elemencie podrzędnym <Claim> elementu <AdditionalClaims>.
Aby rozwiązać problem z przykładową zasadą weryfikacji JWT, zmień nazwę deklaracji na status:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision revision_number Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Typ deklaracji używany w elemencie podrzędnym <Claim> elementu <AdditionalClaims> zasady VerifyJWT nie ma jednego z tych typów:
string (domyślnie), number, boolean lub map
Na przykład użycie typu deklaracji integer w elemencie <AdditionalClaims> spowoduje błąd.
Diagnostyka
Podaj nazwę zasady JWT, nazwę deklaracji i typ z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-RS256, nazwa deklaracji toclaim, a typ tointeger:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).Sprawdź, czy nazwa i typ użyty w elemencie
<AdditionalClaims>w pliku XML zasady weryfikacji JWT są zgodne z nazwą i typem deklaracji podanym w komunikacie o błędzie w kroku 1. Na przykład ta zasada określa roszczenie jakoclaim, a typ tointeger(zgodnie z treścią komunikatu o błędzie):<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>Jeśli typ roszczenia używany w elemencie podrzędnym
<Claim>elementu<AdditionalClaims>nie jest jednym z tych typów:string(domyślnie),number,booleanlubmapto jest jego przyczyną.
W przedstawionej powyżej przykładowej zasadzie weryfikacji tokena JWT w elemencie
<AdditionalClaims>typ<Claim>jest określony jakointeger. Ponieważintegernie jest obsługiwanym typem, występuje błąd:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Rozdzielczość
Upewnij się, że w elemencie podrzędnym <Claim> elementu <AdditionalClaims> używane są tylko obsługiwane typy danych: string (domyślny), number, boolean lub map.
Aby poprawić przykładową zasadę weryfikacji JWT, zmień typ deklaracji na boolean:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision revision_number Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
Przykładowy komunikat o błędzie
Error Saving Revision 2
Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli nazwa roszczenia nie jest określona w elemencie podrzędnym <Claim> elementu <AdditionalClaims> lub <AdditionalHeaders>.
Diagnostyka
Podaj nazwę zasady weryfikacji JWT zawartej w komunikacie o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-RS256:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in ClaimSprawdź niepoprawny kod XML zasady JWT i upewnij się, że w elemencie podrzędnym
<Claims>w elemencie<AdditionalClaims>lub<AdditionalHeaders>brakuje nazwy deklaracji. Na przykład ta zasada Verify JWT nie określa nazwy deklaracji w elemencie<AdditionalClaims>:<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>Ponieważ nazwa
<Claim>nie jest określona w elemencie<AdditionalClaims>, pojawia się błąd:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Rozdzielczość
Upewnij się, że nazwa roszczenia jest zawsze określona w elemencie podrzędnym <Claim> elementu <AdditionalClaims> lub <AdditionalHeaders>.
Aby poprawić przykładową zasadę weryfikacji JWT, podaj nazwę deklaracji w następujący sposób:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision revision_number Invalid name for additional header : policy(policy_name)header(header_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli nazwa deklaracji użyta w elemencie podrzędnym <Claim> elementu <AdditionalHeaders> jest jednym z tych standardowych nagłówków JWT:
alg lub typ
Na przykład użycie nazwy roszczenia alg w elemencie <AdditionalHeaders> spowoduje błąd.
Diagnostyka
Wskaż nazwę zasady JWT i nagłówek weryfikacji z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Zweryfikuj JWT to
JWT-Verify-RS256, a nazwa nagłówka toalg:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).Sprawdź, czy nazwa nagłówka użyta w elemencie podrzędnym
<Claim>w elemencie<AdditionalHeaders>w pliku XML zasady weryfikacji JWT jest zgodna z nazwą nagłówka wymienioną w komunikacie o błędzie w kroku 1. Na przykład ta zasada określa nagłówek jakoalg, który jest zgodny z treścią komunikatu o błędzie:<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>Jeśli nazwa nagłówka używana w elemencie podrzędnym
<Claim>elementu<AdditionalClaims>jest jednym z tych standardowych nagłówków JWT:alglubtypto jest jego przyczyną.
W powyższej przykładowej zasadzie weryfikacji tokena JWT w elemencie
<AdditionalClaims>nazwa<Claim>jest podana jakoalg, co powoduje błąd:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Rozdzielczość
Nie używaj standardowych nagłówków JWT alg lub typ w elemencie podrzędnym <Claim> elementu <AdditionalHeaders>.
Aby poprawić przykładową zasadę weryfikacji JWT, użyj nazwy x5c w elemencie podrzędnym <Claim> elementu <AdditionalHeaders>:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision revision_number Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim1) type(integer).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli typ deklaracji użyty w elemencie podrzędnym <Claim> elementu <AdditionalHeaders> zasady JWT nie jest jednym z tych typów:
string (domyślnie), number, boolean lub map
Na przykład użycie typu deklaracji integer w elemencie <AdditionalHeaders> spowoduje błąd.
Diagnostyka
Podaj nazwę zasady JWT, nazwę deklaracji i typ z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-RS256, nazwa deklaracji toclaim, a typ tointeger:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).Sprawdź, czy nazwa i typ użyty w elemencie
<AdditionalClaims>w pliku XML zasady weryfikacji JWT są zgodne z nazwą i typem deklaracji podanym w komunikacie o błędzie w kroku 1. Na przykład ta zasada określa roszczenie jakoclaim, a typ roszczenia jakointeger,(zgodnie z treścią komunikatu o błędzie):<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>Jeśli typ roszczenia używany w elemencie podrzędnym
<Claim>elementu<AdditionalHeaders>nie jest jednym z tych typów:string(domyślnie),number,booleanlubmapto jest jego przyczyną.
W przedstawionej powyżej przykładowej zasadzie weryfikacji tokena JWT typ
<Claim>w elemencie<AdditionalHeaders>jest określony jakointeger. Ponieważintegernie jest obsługiwanym typem, występuje błąd:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Rozdzielczość
Upewnij się, że w elemencie podrzędnym <Claim> elementu <AdditionalHeaders> używane są tylko obsługiwane typy danych: string, number, boolean lub map.
Aby poprawić przykładową zasadę weryfikacji JWT, zmień typ deklaracji na boolean:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision revision_number Invalid value for array attribute: policy(policy_name)claim(claim_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli wartość atrybutu tablicy w elemencie podrzędnym <Claim> elementu <AdditionalClaims> lub <AdditionalHeaders> nie jest ustawiona na true lub false.
Na przykład ustawienie wartości atrybutu tablicy jako yes w elemencie podrzędnym <Claim> elementu <AdditionalClaims> lub <AdditionalHeaders> powoduje błąd.
Diagnostyka
Wskaż nazwę zasady JWT i nazwę deklaracji z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-RS256, a nazwa deklaracji toclaim:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).Sprawdź, czy nazwa deklaracji użyta w elemencie podrzędnym
<Claim>w elemencie<AdditionalHeaders>w pliku XML zasady weryfikacji JWT jest zgodna z nazwą deklaracji podaną w komunikacie o błędzie w kroku 1. Na przykład ta zasada określa nazwę roszczenia jakoclaim, co jest zgodne z treścią komunikatu o błędzie:<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>Jeśli wartość atrybutu
arrayelementu podrzędnego<Claim>elementu<AdditionalClaims>nie jest ustawiona natruelubfalse, to jest przyczyną błędu.Ponieważ w powyższym przykładzie atrybut
arrayelementu podrzędnego<Claim>elementu<AdditionalClaims>ma wartośćyes, pojawia się błąd:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Rozdzielczość
Upewnij się, że wartość atrybutu tablicy w elemencie podrzędnym <Claim> elementów <AdditionalClaims> lub <AdditionalHeaders> jest ustawiona na true lub false.
Aby poprawić przykładową zasadę weryfikacji JWT widoczną powyżej, zmień wartość atrybutu tablicy na true:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli wartość podana w elemencie <Algorithm> nie jest jedną z tych wartości:
HS256, HS384, HS512, RS256, RS384, RS512
Na przykład określenie w elemencie <Algorithm> wartości algorytmu jako RS128 powoduje ten błąd.
Diagnostyka
Wskaż nazwę zasady JWT i nazwę elementu z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Zweryfikuj JWT to
JWT-Verify-RS256, a nazwa elementu toAlgorithm:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).Sprawdź niepoprawny kod XML zasady JWT i sprawdź wartość podaną dla elementu
<Algorithm>.Oto przykładowa zasada weryfikacji JWT:
<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>Sprawdź wartość podaną w elemencie
<Algorithm>. Jeśli nie jest to jedna z tych wartości:HS256,HS384,HS512,RS256,RS384,RS512to jest jego przyczyną.
W pokazanej powyżej przykładowej zasadzie weryfikacji JWT nazwa
<Algorithm>jest określona jakoHS128. Ponieważ nie jest to obsługiwany algorytm, pojawi się błąd:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Rozdzielczość
Upewnij się, że wartość określona w elemencie <Algorithm> jest jedną z obsługiwanych wartości:
HS256, HS384, HS512, RS256, RS384, RS512
Aby poprawić widoczną powyżej przykładową zasadę weryfikacji JWT, która używa elementu <SecretKey>, zmień wartość <Algorithm> na HS25. Pamiętaj, że jeśli używasz elementu <SecretKey>, możesz używać wyłącznie algorytmów rodziny HS.
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, gdy element <PublicKey> nie jest używany z algorytmami rodziny RSA w zasadzie weryfikacji JWT. Ten błąd może też wystąpić, jeśli element <SecretKey> nie jest używany z algorytmami rodziny HS w zasadzie weryfikacji JWT.
Na przykład ten błąd może wystąpić, gdy element <PublicKey> nie zostanie użyty w algorytmach grupy reklam RSA.
Diagnostyka
Wskaż nazwę zasady JWT i nazwę brakującego elementu z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-RS256, a brakującego elementu toPublicKey:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).Sprawdź niepoprawny kod XML zasady JWT i sprawdź, czy brakuje elementu wskazanego w komunikacie o błędzie. Jeśli go nie ma, to to jest przyczyną błędu.
Na przykład ta zasada pokazuje, że brakuje pola
PublicKey, a używana wartośćAlgorithmtoRS256:<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>W przykładowej zasadzie weryfikacji JWT używane są algorytmy rodziny HS, ale brakuje wymaganego elementu
PublicKey, co powoduje błąd:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Rozdzielczość
Upewnij się, że w algorytmach rodziny RSA używany jest obowiązkowy element <PublicKey>, a w algorytmach rodziny HS używany jest obowiązkowy element <SecretKey>.
Aby poprawić widoczną powyżej przykładową zasadę weryfikacji JWT, która używa algorytmu RS256, dodaj element <PublicKey> do zasady VerifyJWT:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli element podrzędny <Value> lub obowiązkowy element podrzędny <JWKS> nie jest zdefiniowany w elementach <PublicKey> lub <SecretKey> zasady JWT.
Diagnostyka
Podaj nazwę zasady weryfikacji JWT zawartej w komunikacie o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-RS256:Invalid Key configuration : policy(JWT-Verify-RS256).Sprawdź niepoprawny kod XML zasady weryfikacji JWT i upewnij się, że element podrzędny
<Value>lub element podrzędny<JWKS>nie jest zdefiniowany w elementach<PublicKey>lub<SecretKey>. Jeśli element podrzędny nie jest zdefiniowany, to to jest przyczyną błędu.Na przykład ta zasada pokazuje, że element podrzędny
<Value>lub<JWKS>nie jest zdefiniowany w elemencie<PublicKey>:<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>Element podrzędny
<Value>lub<JWKS>nie jest zdefiniowany w elemencie<PublicKey>zasady weryfikacji JWT, dlatego pojawia się błąd:Invalid Key configuration : policy(JWT-Verify-RS256).
Rozdzielczość
Sprawdź, czy element podrzędny <Value> lub <JWKS> jest zawsze zdefiniowany w elemencie <PublicKey> zasady JWT.
Aby poprawić przykładową zasadę weryfikacji JWT, zdefiniuj element podrzędny <Value> lub <JWKS> w elemencie <PublicKey> w następujący sposób:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision revision_number Empty Element for Key Configuration : policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli atrybut ref w elemencie podrzędnym <Value> lub <JWKS> elementu <PublicKey> nie jest określony lub pusty.
Jeśli np. element podrzędny <Value> elementu <PublicKey> jest pusty, błąd występuje.
Diagnostyka
Wskaż nazwę zasady JWT i nazwę elementu, które są puste w komunikacie o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Zweryfikuj JWT to
JWT-Verify-RS256, a nazwa elementu toPublicKey/Value:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).Sprawdź nieudany kod XML zasady JWT i upewnij się, że element wskazany w kroku 1 jest pusty. Jeśli pole jest puste, to to jest przyczyną błędu.
Na przykład ta zasada pokazuje, że element podrzędny
<Value>elementu<PublicKey>jest pusty:<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>Element podrzędny
<Value>elementu<PublicKey>zasady weryfikacji JWT jest pusty, dlatego pojawia się błąd:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Rozdzielczość
Upewnij się, że atrybut ref w elemencie podrzędnym <Value> lub <JWKS> elementu <PublicKey> jest zawsze określony.
Aby poprawić przykładową zasadę weryfikacji JWT, użyj zmiennej przepływu public.publickey w elemencie podrzędnym <Value> elementu <PublicKey>:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli element <Id> jest zdefiniowany w elemencie <SecretKey> zasady VerifyJWT.
Ten błąd występuje na przykład, jeśli element <Id> jest zdefiniowany w elemencie <SecretKey>.
Diagnostyka
Wskaż nazwę zasady JWT i nazwę nieprawidłowego elementu podaną w komunikacie o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-RS256, a nazwa elementu toSecretKey/Id:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)Sprawdź niepoprawny kod XML zasady JWT i upewnij się, że został zdefiniowany nieprawidłowy element wskazany w kroku 1. Jeśli jest zdefiniowany, to właśnie on jest przyczyną błędu.
Na przykład ta zasada pokazuje, że element podrzędny
<Id>elementu<SecretKey>został zdefiniowany:<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>Element
<Id>jest zdefiniowany w elemencie<SecretKey>zasady weryfikacji JWT, więc występuje błąd:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Rozdzielczość
Upewnij się, że element <Id> nigdy nie jest zdefiniowany w elemencie <SecretKey> zasady JWT.
Aby poprawić przykładową zasadę weryfikacji JWT, usuń element podrzędny <Id> z elementu <SecretKey>:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli element <Source> zasady weryfikacji JWT jest pusty. Jeśli występuje, musi być określona nazwą zmiennej przepływu brzegowego.
Diagnostyka
Wskaż nazwę zasady JWT i pustą nazwę elementu z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-RS256, a nazwa elementu toPublicKey/Value:Invalid empty element : policy(JWT-Verify-HS256) element(Source).Sprawdź nieudany kod XML zasady JWT i upewnij się, że element wskazany w kroku 1 jest pusty. Jeśli pole jest puste, to to jest przyczyną błędu.
Na przykład ta zasada pokazuje, że element
<Source>jest pusty:<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>Element
<Source>zasady weryfikacji JWT jest pusty, więc pojawia się błąd:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Rozdzielczość
Jeśli istnieje element <Source> zasady Verify JWT, upewnij się, że określa ona zmienną przepływu.
Aby poprawić przykładową zasadę weryfikacji JWT, użyj prawidłowej zmiennej przepływu w elemencie <Source>:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli wartość używana w elemencie podrzędnym <JWKS> elementu <PublicKey> nie ma prawidłowego formatu określonego w RFC 7517.
Na przykład użycie abc jako wartości elementu podrzędnego <JWKS> w elemencie <PublicKey> spowoduje błąd.
Diagnostyka
Wskaż nazwę zasady JWT i nazwę elementu, która zawiera nieprawidłową wartość z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-RS256, a element toPublicKey/JWKS:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).Sprawdź nieudany kod XML zasady JWT i upewnij się, że element wskazany w kroku 1 zawiera wartość w prawidłowym formacie zgodnym z RFC 7517. Jeśli wartość elementu ma nieprawidłowy format, to to jest przyczyną błędu.
<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>Wartość w elemencie podrzędnym
<JWKS>elementu<PublicKey>ma nieprawidłowy format zgodnie ze standardem RFC 7517, więc pojawia się błąd:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Rozdzielczość
Upewnij się, że wartość określona w elemencie podrzędnym <JWKS> elementu <PublicKey> jest prawidłowym ciągiem znaków lub zmienną przepływu w prawidłowym formacie JWKS (RFC 7517).
Aby poprawić przykładową zasadę weryfikacji JWT, zmień wartość <JWKS> w następujący sposób:
<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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
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>).
Przykładowy komunikat o błędzie
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno z błędem:

Przyczyna
Ten błąd występuje, jeśli element <PublicKey> jest używany w algorytmach rodziny HS, a element <SecretKey> jest używany z algorytmami rodziny RSA. Błąd występuje też wtedy, gdy jest spełniony jeden z tych warunków.
Na przykład użycie elementu <PublicKey> w algorytmach rodziny HS prowadzi do tego błędu.
Diagnostyka
Wskaż nazwę zasady JWT z weryfikacją JWT, nazwę elementu oraz nazwę rodziny algorytmów, które pochodzą z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady weryfikacji JWT to
JWT-Verify-HS256, nazwa elementu toPublicKey, a rodzina algorytmów toRSA:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).Sprawdź, czy element i rodzina algorytmów używane w nieudanym pliku XML zasady JWT są zgodne z elementem i grupą algorytmów zidentyfikowanych w komunikacie o błędzie w kroku 1. Na przykład ta zasada określa element jako
PublicKey, a rodzinę algorytmów określa jakoHMAC, co odpowiada treści komunikatu o błędzie<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>Jeśli wartość elementu
<Algorithm>toHS256, ale został użyty<PublicKey>, to to jest przyczyną błędu.W przedstawionej powyżej przykładowej zasadzie weryfikacji JWT używany jest element
<PublicKey>, mimo że element<Algorithm>jest ustawiony na algorytm rodziny HS256, co powoduje błąd:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Rozdzielczość
Upewnij się, że element <PublicKey> jest używany tylko z algorytmami rodziny RSA, a element <SecretKey> jest używany tylko z algorytmami rodziny HS.
Aby poprawić przykładową zasadę weryfikacji JWT, użyj zasady <SecretKey> z zasady VerifyJWT, która korzysta z algorytmu HS256:
<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>