Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
InvalidNameForAdditionalClaim
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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> jest jedną z tych zarejestrowanych nazw:
„kid”, „iss”, „sub”, „aud”, „iat”, „exp”, „nbf”, „jti”
Zarejestrowane roszczenia są określone w dokumencie RFC7519.
Na przykład użycie nazwy roszczenia iss w elemencie <AdditionalClaims> spowoduje ten błąd.
Diagnostyka
Zidentyfikuj nazwę zasady Weryfikuj JWT i nazwę deklaracji z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Verify 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 Verify JWT, która spowodowała błąd, jest zgodna z nazwą deklaracji podaną w komunikacie o błędzie w kroku 1. Na przykład te zasady określają roszczenie jakoiss, co odpowiada 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 tych zarejestrowanych nazw:„kid”, „iss”, „sub”, „aud”, „iat”, „exp”, „nbf”, „jti”
wtedy to jest przyczyną błędu.
W przykładzie zasady Verify JWT pokazanym powyżej nazwa
<Claim>jest określona jakoissw elemencie<AdditionalClaims>, co powoduje błąd:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Rozdzielczość
Nie używaj żadnej z zarejestrowanych nazw „kid”, „iss”, „sub”, „aud”, „iat”, „exp”, „nbf” ani „jti” w elemencie podrzędnym <Claim> elementu <AdditionalClaims>.
Aby rozwiązać problem z przykładową zasadą Verify JWT, zmień nazwę roszczenia 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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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 roszczenia użytego w elemencie podrzędnym <Claim> elementu <AdditionalClaims> w zasadach VerifyJWT nie jest jednym z tych typów:
string (domyślnie), number, boolean lub map
Na przykład użycie typu roszczenia integer w elemencie <AdditionalClaims> spowoduje błąd.
Diagnostyka
Zidentyfikuj nazwę zasady Verify JWT, nazwę deklaracji i typ z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Verify 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 deklaracji i typ użyte w elemencie
<AdditionalClaims>w nieudanej zasadzie XML weryfikacji JWT są zgodne z nazwą deklaracji i typem zidentyfikowanymi w komunikacie o błędzie w kroku 1. Na przykład te zasady określają roszczenie jakoclaim, a typ jakointeger, co odpowiada 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żyty w elemencie podrzędnym
<Claim>elementu<AdditionalClaims>nie jest jednym z tych typów:string(domyślnie),number,booleanlubmapwtedy to jest przyczyną błędu.
W przykładzie zasady Verify JWT pokazanym powyżej typ
<Claim>jest określony jakointegerw elemencie<AdditionalClaims>. Ponieważ typintegernie jest obsługiwany, pojawi się 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ę Verify JWT, zmień typ roszczenia 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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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
Zidentyfikuj nazwę zasady Verify JWT (Weryfikuj JWT) na podstawie komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Weryfikuj JWT to
JWT-Verify-RS256:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in ClaimSprawdź kod XML zasady Verify JWT, która nie została wykonana, i upewnij się, że w elemencie podrzędnym
<Claims>brakuje nazwy deklaracji w elemencie<AdditionalClaims>lub<AdditionalHeaders>. Na przykład ta zasada weryfikacji 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ład zasady Verify JWT, określ nazwę roszczenia w sposób pokazany poniżej:
<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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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żytej 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
Zidentyfikuj nazwę zasady Weryfikuj JWT i nazwę nagłówka z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Weryfikuj 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 nieudanym pliku XML zasady Verify JWT jest zgodna z nazwą nagłówka podaną w komunikacie o błędzie w kroku 1. Na przykład ta zasada określa nagłówek jakoalg, co odpowiada temu, co znajduje się w komunikacie 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żyta w elemencie podrzędnym
<Claim>elementu<AdditionalClaims>jest jednym z tych standardowych nagłówków JWT:alglubtypwtedy to jest przyczyną błędu.
W przykładzie zasady Verify JWT pokazanym powyżej nazwa
<Claim>jest określona jakoalgw elemencie<AdditionalClaims>, 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 ani typ w elemencie podrzędnym <Claim> elementu <AdditionalHeaders>.
Aby poprawić przykładową zasadę Verify 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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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
Błąd wystąpi, jeśli typ roszczenia użyty w elemencie podrzędnym <Claim> elementu <AdditionalHeaders> zasady Weryfikuj JWT nie jest jednym z tych typów:
string (domyślnie), number, boolean lub map
Na przykład użycie typu roszczenia integer w elemencie <AdditionalHeaders> spowoduje błąd.
Diagnostyka
Zidentyfikuj nazwę zasady Weryfikuj JWT, nazwę deklaracji i typ z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Weryfikuj 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 deklaracji i typ użyte w elemencie
<AdditionalClaims>w nieudanej zasadzie XML weryfikacji JWT są zgodne z nazwą deklaracji i typem zidentyfikowanymi w komunikacie o błędzie w kroku 1. Na przykład te zasady określają roszczenie jakoclaim, a typ roszczenia jakointeger,, co odpowiada 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żyty w elemencie podrzędnym
<Claim>elementu<AdditionalHeaders>nie jest jednym z tych typów:string(domyślnie),number,booleanlubmapwtedy to jest przyczyną błędu.
W przykładzie zasady Verify JWT pokazanym powyżej typ
<Claim>w elemencie<AdditionalHeaders>jest określony jakointeger. Ponieważ typintegernie jest obsługiwany, pojawi się 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ę Verify JWT, zmień typ roszczenia 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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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
Zidentyfikuj nazwę zasady Weryfikuj JWT i nazwę deklaracji z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Weryfikuj 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 nieudanym pliku XML zasad 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 odpowiada nazwie w komunikacie 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
arrayw elemencie podrzędnym<Claim>elementu<AdditionalClaims>nie jest ustawiona natruelubfalse, to jest to przyczyną błędu.W powyższym przykładzie atrybut
arrayw elemencie podrzędnym<Claim>elementu<AdditionalClaims>ma wartośćyes, dlatego występuje 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ę Verify JWT pokazaną 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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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 wartości algorytmu jako RS128 w elemencie <Algorithm> powoduje ten błąd.
Diagnostyka
Zidentyfikuj nazwę zasady Verify JWT i nazwę elementu z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Weryfikuj JWT to
JWT-Verify-RS256, a nazwa elementu toAlgorithm:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).Sprawdź kod XML zasady Verify JWT, która zakończyła się niepowodzeniem, i wartość 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,RS512wtedy to jest przyczyną błędu.
W pokazanej powyżej przykładowej zasadzie Verify 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ść podana w elemencie <Algorithm> jest jedną z obsługiwanych wartości:
HS256, HS384, HS512, RS256, RS384, RS512
Aby poprawić przykład zasady Verify JWT pokazany powyżej, który używa elementu <SecretKey>, zmień wartość elementu <Algorithm> na HS25. Pamiętaj, że gdy używasz elementu <SecretKey>, możesz korzystać tylko z algorytmów HS Family.
<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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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 RSA Family w zasadzie Verify JWT. Błąd może też wystąpić, jeśli element <SecretKey> nie jest używany z algorytmami HS Family w zasadzie Verify JWT.
Na przykład ten błąd występuje, gdy nie używasz elementu <PublicKey> z algorytmami RSA Family.
Diagnostyka
Zidentyfikuj nazwę zasady Verify JWT i nazwę brakującego elementu w komunikacie o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Verify JWT to
JWT-Verify-RS256, a nazwa brakującego elementu toPublicKey:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).Sprawdź plik XML nieudanej zasady Verify JWT i upewnij się, że brakuje elementu wskazanego w komunikacie o błędzie. Jeśli go brakuje, to jest to przyczyna błędu.
Na przykład poniższa zasada pokazuje, że brakuje parametru
PublicKey, a użyty parametrAlgorithmtoRS256:<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>Przykładowa zasada Verify JWT korzysta z algorytmów HS Family, ale brakuje w niej obowiązkowego elementu
PublicKey, co powoduje błąd:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Rozdzielczość
Upewnij się, że w przypadku algorytmów z rodziny RSA używany jest obowiązkowy element <PublicKey>, a w przypadku algorytmów z rodziny HS – obowiązkowy element <SecretKey>.
Aby poprawić powyższą przykładową zasadę Verify 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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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 Verify JWT.
Diagnostyka
Zidentyfikuj nazwę zasady Verify JWT (Weryfikuj JWT) na podstawie komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Weryfikuj JWT to
JWT-Verify-RS256:Invalid Key configuration : policy(JWT-Verify-RS256).Sprawdź kod XML zasady Verify JWT, która zakończyła się niepowodzeniem, i upewnij się, że element podrzędny
<Value>lub<JWKS>nie jest zdefiniowany w elementach<PublicKey>lub<SecretKey>. Jeśli element podrzędny nie jest zdefiniowany, to jest to przyczyną błędu.Na przykład te zasady pokazują, ż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>Ponieważ element podrzędny
<Value>lub<JWKS>nie jest zdefiniowany w elemencie<PublicKey>zasady Verify JWT, pojawia się błąd:Invalid Key configuration : policy(JWT-Verify-RS256).
Rozdzielczość
Upewnij się, że element podrzędny <Value> lub <JWKS> jest zawsze zdefiniowany w elemencie <PublicKey> zasady Verify JWT.
Aby poprawić przykładową zasadę Verify JWT, zdefiniuj element podrzędny <Value> lub <JWKS> w elemencie <PublicKey>, jak pokazano poniżej:
<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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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 jest pusty.
Na przykład jeśli element podrzędny <Value> elementu <PublicKey> jest pusty, wystąpi błąd.
Diagnostyka
Zidentyfikuj nazwę zasady Weryfikuj JWT i nazwę elementu, która jest pusta, na podstawie komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Weryfikuj JWT to
JWT-Verify-RS256, a nazwa elementu toPublicKey/Value:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).Sprawdź plik XML zasady Verify JWT i upewnij się, że element zidentyfikowany w kroku 1 jest pusty. Jeśli jest pusta, to jest przyczyną błędu.
Na przykład te zasady pokazują, ż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>Ponieważ element podrzędny
<Value>elementu<PublicKey>w zasadach Verify JWT jest pusty, 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ładowe zasady Verify 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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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.
Na przykład jeśli element <Id> jest zdefiniowany w elemencie <SecretKey>, wystąpi ten błąd.
Diagnostyka
Zidentyfikuj nazwę zasady Verify JWT i nieprawidłową nazwę elementu w komunikacie o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Weryfikuj JWT to
JWT-Verify-RS256, a nazwa elementu toSecretKey/Id:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)Sprawdź plik XML zasady Verify JWT, która zakończyła się niepowodzeniem, i upewnij się, że zdefiniowano nieprawidłowy element zidentyfikowany w kroku 1. Jeśli jest zdefiniowany, to jest przyczyną błędu.
Na przykład te zasady pokazują, że zdefiniowany jest element podrzędny
<Id>elementu<SecretKey>:<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>Ponieważ element
<Id>jest zdefiniowany w elemencie<SecretKey>zasady Verify JWT, pojawia się błąd:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Rozdzielczość
Sprawdź, czy element <Id> nigdy nie jest zdefiniowany w elemencie <SecretKey> zasady Verify JWT.
Aby poprawić przykładową zasadę Verify 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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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 Weryfikuj JWT jest pusty. Jeśli jest obecna, musi być zdefiniowana za pomocą nazwy zmiennej przepływu Edge.
Diagnostyka
Z komunikatu o błędzie odczytaj nazwę zasady Verify JWT i nazwę pustego elementu. Na przykład w tym komunikacie o błędzie nazwa zasady Weryfikuj JWT to
JWT-Verify-RS256, a nazwa elementu toPublicKey/Value:Invalid empty element : policy(JWT-Verify-HS256) element(Source).Sprawdź plik XML zasady Verify JWT i upewnij się, że element zidentyfikowany w kroku 1 jest pusty. Jeśli jest pusta, to jest to przyczyna błędu.
Na przykład te zasady pokazują, ż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>Ponieważ element
<Source>w zasadach Verify JWT jest pusty, pojawia się błąd:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Rozdzielczość
Jeśli element <Source> zasady Weryfikuj JWT jest obecny, upewnij się, że określa zmienną przepływu.
Aby poprawić przykładową zasadę Verify 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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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żyta w elemencie podrzędnym <JWKS> elementu <PublicKey> nie jest w prawidłowym formacie określonym w RFC 7517.
Na przykład użycie wartości abc w elemencie podrzędnym <JWKS> w elemencie <PublicKey> spowoduje ten błąd.
Diagnostyka
Z komunikatu o błędzie odczytaj nazwę zasady Weryfikuj JWT i nazwę elementu zawierającego nieprawidłową wartość. Na przykład w tym komunikacie o błędzie nazwa zasady Weryfikuj JWT to
JWT-Verify-RS256, a element toPublicKey/JWKS:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).Sprawdź plik XML zasady Verify JWT, która zakończyła się niepowodzeniem, i upewnij się, że element zidentyfikowany w kroku 1 zawiera wartość w prawidłowym formacie zgodnie z dokumentem RFC 7517. Jeśli wartość elementu ma nieprawidłowy format, to jest to 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>Ponieważ wartość w elemencie podrzędnym
<JWKS>elementu<PublicKey>nie jest w prawidłowym formacie zgodnie z RFC 7517, otrzymujesz błąd:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Rozdzielczość
Sprawdź, czy wartość podana 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ę Verify JWT, zmień wartość <JWKS> w sposób pokazany poniżej:
<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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla 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 z algorytmami HS Family, a element <SecretKey> jest używany z algorytmami RSA Family. Błąd wystąpi też, jeśli którykolwiek z tych warunków jest spełniony.
Na przykład użycie elementu <PublicKey> z algorytmami HS Family powoduje ten błąd.
Diagnostyka
Z komunikatu o błędzie odczytaj nazwę zasady Weryfikuj JWT, nazwę elementu i nazwę rodziny algorytmów. Na przykład w tym komunikacie o błędzie nazwa zasady Verify 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żyte w XML zasady Verify JWT, która spowodowała błąd, są zgodne z elementem i rodziną algorytmów podanymi w komunikacie o błędzie w kroku 1. Na przykład te zasady określają element jako
PublicKeyi rodzinę algorytmów 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 używasz<PublicKey>, to jest to przyczyną błędu.W pokazanej powyżej przykładowej zasadzie Verify JWT użyto elementu
<PublicKey>, mimo że element<Algorithm>jest ustawiony na algorytm 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ść
Sprawdź, czy element <PublicKey> jest używany tylko w przypadku algorytmów RSA Family, a element <SecretKey> – tylko w przypadku algorytmów HS Family.
Aby poprawić przykładową zasadę Verify JWT, użyj <SecretKey> z zasady VerifyJWT, która używa 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>