Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
InvalidNameForAdditionalClaim
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 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-Generate-HS256) claim(iss).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe 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 Generate JWT i nazwę roszczenia z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, a nazwa roszczenia toiss:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).Sprawdź, czy nazwa deklaracji użyta w elemencie
<AdditionalClaims>w nieudanej zasadzie XML generowania JWT jest zgodna z nazwą deklaracji podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład te zasady określają roszczenie jakoiss, co odpowiada treści komunikatu o błędzie:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="iss"/> </AdditionalClaims> </GenerateJWT>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 generowania tokena JWT pokazanym powyżej nazwa
<Claim>jest określona jakoissw elemencie<AdditionalClaims>, co powoduje błąd:Invalid name for additional claim : policy(JWT-Generate-HS256) 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 poprawić pokazaną powyżej zasadę generowania tokena JWT, zmień nazwę roszczenia na status:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
InvalidTypeForAdditionalClaim
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 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-Generate-HS256) claim(claim) type(integer).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe z błędem:

Przyczyna
Ten błąd występuje, jeśli typ roszczenia użyty w elemencie podrzędnym <Claim> elementu <AdditionalClaims> w zasadach GenerateJWT 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
Z komunikatu o błędzie odczytaj nazwę zasady Generate JWT, nazwę deklaracji i typ deklaracji. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, nazwa deklaracji toclaim, a typ deklaracji tointeger:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).Sprawdź, czy nazwa i typ roszczenia użyte w elemencie
<AdditionalClaims>w nieudanej zasadzie XML generowania JWT są zgodne z nazwą i typem roszczenia podanymi w komunikacie o błędzie w kroku 1. Na przykład poniższe zasady określają roszczenie jakoclaim, a typ jakointeger, co odpowiada temu, co znajduje się w komunikacie o błędzie:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </GenerateJWT>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 Generowanie tokena JWT pokazanym powyżej typ
<Claim>w elemencie<AdditionalClaims>jest określony jakointeger. Ponieważintegernie jest obsługiwanym typem, pojawi się błąd:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Rozdzielczość
Upewnij się, że w elemencie podrzędnym <Claim> elementu <AdditionalClaims> używane są tylko obsługiwane typy danych, takie jak string, number, boolean lub map.
Aby poprawić przykładową zasadę generowania tokena JWT pokazaną powyżej, zmień typ roszczenia na boolean.
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
MissingNameForAdditionalClaim
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 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-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe 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
Z komunikatu o błędzie odczytaj nazwę zasady Generate JWT. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in ClaimSprawdź kod XML zasady Generate JWT, która nie powiodła się, i upewnij się, że w elemencie podrzędnym
<Claims>w elemencie<AdditionalClaims>lub<AdditionalHeaders>nie brakuje nazwy deklaracji. Na przykład ta zasada generowania tokena JWT nie określa nazwy roszczenia w elemencie<AdditionalClaims>:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </GenerateJWT>Ponieważ nazwa
<Claim>nie jest określona w elemencie<AdditionalClaims>, pojawia się błąd:Error occurred while validation of bean JWT-Generate-HS256.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ć pokazaną powyżej zasadę generowania tokena JWT, podaj nazwę roszczenia w sposób pokazany poniżej:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
InvalidNameForAdditionalHeader
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 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-Generate-HS256) header(alg).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe 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 Generate JWT i nazwę nagłówka z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, a nazwa nagłówka toalg:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).Sprawdź, czy nazwa nagłówka użyta w elemencie podrzędnym
<Claim>w elemencie<AdditionalHeaders>w nieudanym pliku XML zasady Generate 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 treści komunikatu o błędzie:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </GenerateJWT>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 generowania tokena JWT pokazanym powyżej nazwa
<Claim>jest określona jakoalgw elemencie<AdditionalClaims>, co powoduje błąd:Invalid name for additional header: policy(JWT-Generate-HS256) 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ę generowania tokena JWT pokazaną powyżej, użyj nazwy x5c w elemencie podrzędnym <Claim> elementu <AdditionalHeaders>:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTypeForAdditionalHeader
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 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-Generate-HS256) claim(claim1) type(integer).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe z błędem:

Przyczyna
Błąd wystąpi, jeśli typ roszczenia użyty w elemencie podrzędnym <Claim> elementu <AdditionalHeaders> w zasadach GenerateJWT 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
Z komunikatu o błędzie odczytaj nazwę zasady Generate JWT, nazwę deklaracji i typ deklaracji. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, nazwa deklaracji toclaim,, a typ deklaracji tointeger:.Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).Sprawdź, czy nazwa i typ roszczenia użyte w elemencie
<AdditionalClaims>w nieudanej zasadzie XML generowania JWT są zgodne z nazwą i typem roszczenia podanymi w komunikacie o błędzie w kroku 1. Na przykład poniższe zasady określają roszczenie jakoclaim, a typ roszczenia jakointeger, co odpowiada treści komunikatu o błędzie:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </GenerateJWT>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 Generowanie tokena JWT pokazanym powyżej typ
<Claim>w elemencie<AdditionalHeaders>jest określony jakointeger. Ponieważintegernie jest obsługiwanym typem, pojawi się błąd:Invalid type for additional header : policy(JWT-Generate-HS256) 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ć pokazaną powyżej zasadę generowania tokena JWT, zmień typ roszczenia na boolean:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueOfArrayAttribute
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 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-Generate-HS256) claim(claim).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe 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 Generate JWT i nazwę roszczenia z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, a nazwa roszczenia toclaim:.Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).Sprawdź, czy nazwa roszczenia użyta w elemencie podrzędnym
<Claim>w elemencie<AdditionalHeaders>w nieudanym pliku XML zasady Generowanie JWT jest zgodna z nazwą roszczenia podaną w komunikacie o błędzie w kroku 1. Na przykład poniższe zasady określają nazwę roszczenia jakoclaim, co odpowiada nazwie w komunikacie o błędzie:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </GenerateJWT>Jeśli wartość atrybutu
arrayw elemencie podrzędnym<Claim>elementu<AdditionalClaims>nie jest ustawiona natruelubfalse, to jest to przyczyną błędu.Ponieważ w powyższym przykładzie atrybut
arrayw elemencie podrzędnym<Claim>elementu<AdditionalClaims>jest ustawiony nayes, otrzymasz błąd:Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Rozdzielczość
Upewnij się, że wartość atrybutu tablicy w elemencie podrzędnym <Claim> elementu <AdditionalClaims> lub <AdditionalHeaders> jest ustawiona na true lub false.
Aby poprawić przykładowe zasady generowania tokena JWT pokazane powyżej, zmień wartość atrybutu tablicy na true:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidConfigurationForActionAndAlgorithm
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).
Przykładowy komunikat o błędzie
Error Saving Revision 2 Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe z błędem:

Przyczyna
Ten błąd występuje, jeśli element <PrivateKey> 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 <PrivateKey> z algorytmami HS Family powoduje ten błąd.
Diagnostyka
Zidentyfikuj nazwę zasady Generate JWT, nazwę elementu i nazwę rodziny algorytmów na podstawie komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady generowania tokena JWT to
JWT-Generate-HS256, nazwa elementu toPrivateKey, a rodzina algorytmów toHMAC:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).Sprawdź, czy element i rodzina algorytmów użyte w pliku XML zasady Generate 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 ta zasada określa element jako
PrivateKey, a rodzinę algorytmów jakoHMAC, co odpowiada temu, co znajduje się w komunikacie o błędzie:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PrivateKey> <Password ref="private.privatekey-password"/> </PrivateKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array=tuu =/> </AdditionalClaims> </GenerateJWT>Jeśli wartość elementu
<Algorithm>toHS256, ale użyto<PrivateKey>, to jest to przyczyną błędu.W pokazanej powyżej zasadzie Generate JWT użyto
<PrivateKey>, mimo że<PrivateKey>jest ustawiony na algorytm rodzinyHS256, co spowodowało błąd:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Rozdzielczość
Sprawdź, czy element <PrivateKey> 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ę generowania tokena JWT pokazaną powyżej, użyj <SecretKey> z zasady GenerateJWT, która używa algorytmu HS256:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueForElement
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 Invalid Value for element : policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe 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 Generate JWT (Generowanie tokena JWT) i nazwę elementu z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, a nazwa elementu toAlgorithm..Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).Sprawdź XML zasady Generate JWT, które spowodowały błąd, i wartość określoną w elemencie
<Algorithm>.Oto przykładowa zasada generowania tokena JWT:
<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS128</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </GenerateJWT>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 zasadzie Generate JWT nazwa
<Algorithm>jest określona jakoHS128. Ponieważ nie jest to obsługiwany algorytm, pojawi się błąd:Invalid Value for element : policy(JWT-Generate-HS256) 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ć pokazaną powyżej przykładową zasadę generowania tokena JWT, która 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.
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
MissingConfigurationElement
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 Missing configuration element : policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe z błędem:

Przyczyna
Ten błąd występuje, gdy element <PrivateKey> nie jest używany z algorytmami RSA Family w zasadzie Generate JWT. Podobnie błąd może wystąpić, jeśli element <SecretKey> nie jest używany z algorytmami HS Family w zasadach generowania JWT.
Na przykład ten błąd występuje, gdy nie używasz elementu <PrivateKey> z algorytmami RSA Family.
Diagnostyka
Zidentyfikuj nazwę zasady Generowanie tokena JWT i nazwę brakującego elementu w komunikacie o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, a nazwa brakującego elementu toSecretKey.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).Sprawdź plik XML zasady Generate JWT, która nie powiodła się, 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 w tych zasadach brakuje
SecretKey, a użyty znakAlgorithmtoHS256:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>Przykładowe zasady generowania JWT używają algorytmów z rodziny HS, ale brakuje w nich obowiązkowego elementu
SecretKey, co powoduje błąd:Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Rozdzielczość
Upewnij się, że w przypadku algorytmów RSA Family używany jest obowiązkowy element <PrivateKey>, a w przypadku algorytmów HS Family – obowiązkowy element <SecretKey>.
Aby poprawić przykładową zasadę generowania tokena JWT pokazaną powyżej, która używa algorytmu HS256, dodaj element <SecretKey> do zasady generowania tokena JWT:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidKeyConfiguration
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge 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 3
Invalid Key configuration : policy(JWT-Generate-HS256).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe z błędem:

Przyczyna
Ten błąd występuje, jeśli w zasadzie Generowanie tokena JWT w elementach <PrivateKey> lub <SecretKey> nie jest zdefiniowany obowiązkowy element podrzędny <Value>.
Diagnostyka
Z komunikatu o błędzie odczytaj nazwę zasady Generate JWT. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256.Invalid Key configuration : policy(JWT-Generate-HS256).Sprawdź plik XML zasady Generate JWT, która nie powiodła się, i upewnij się, że element podrzędny
<Value>nie jest zdefiniowany w elementach<PrivateKey>ani<SecretKey>. Jeśli<Value>nie jest zdefiniowane, to jest to przyczyną błędu.Na przykład w tych zasadach element podrzędny
<Value>nie jest zdefiniowany w elemencie<SecretKey>:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>Ponieważ element podrzędny
<Value>nie jest zdefiniowany w elemencie<SecretKey>zasady generowania tokena JWT, pojawia się błąd:Invalid Key configuration : policy(JWT-Generate-HS256).
Rozdzielczość
Upewnij się, że element podrzędny <Value> jest zawsze zdefiniowany w elementach <PrivateKey> lub <SecretKey> zasad generowania JWT.
Aby poprawić pokazaną powyżej zasadę Generate JWT, zdefiniuj element podrzędny <Value> w elemencie <SecretKey>, jak pokazano poniżej:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
EmptyElementForKeyConfiguration
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 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-Generate-HS256) element(SecretKey/Value).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe z błędem:

Przyczyna
Ten błąd występuje, jeśli atrybut ref w elemencie podrzędnym <Value> elementów <PrivateKey> lub <SecretKey> nie jest określony lub jest pusty.
Na przykład jeśli element podrzędny <Value> elementu <SecretKey> jest pusty, wystąpi błąd.
Diagnostyka
Zidentyfikuj nazwę zasady Generate JWT (Generowanie tokena JWT) i nazwę pustego elementu z komunikatu o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, a nazwa pustego elementu toSecretKey/Value.Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).Sprawdź XML zasad generowania tokena JWT i upewnij się, że element zidentyfikowany w kroku 1 jest pusty. Jeśli jest pusta, to jest przyczyną błędu.
Na przykład poniższe zasady pokazują, że element podrzędny
<Value>elementu<SecretKey>jest pusty:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value/> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>Ponieważ element podrzędny
<Value>elementu<SecretKey>w zasadach generowania tokena JWT jest pusty, pojawia się błąd:Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Rozdzielczość
Upewnij się, że atrybut ref w elemencie podrzędnym <Value> elementów <PrivateKey> lub <SecretKey> jest zawsze określony i ma prefiks „private.”.
Aby poprawić przykładową zasadę generowania tokena JWT pokazaną powyżej, użyj zmiennej przepływu private.privatekey w elemencie podrzędnym <Value> elementu <SecretKey>.
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidVariableNameForSecret
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 Invalid variable name for secret : policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe z błędem:

Przyczyna
Ten błąd występuje, jeśli nazwa zmiennej przepływu określona w atrybucie ref w elemencie podrzędnym <Value> elementów <PrivateKey> lub <SecretKey> nie zawiera prefiksu prywatnego (private.).
Na przykład:
Ten błąd występuje, jeśli nazwa zmiennej przepływu jest określona jako mykey w atrybucie ref elementu podrzędnego <Value> elementu <PrivateKey>.
Diagnostyka
Z komunikatu o błędzie odczytaj nazwę zasady Generate JWT i nazwę elementu z nieprawidłową nazwą zmiennej. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, a nazwa elementu toSecretKey/Value.Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).Sprawdź plik XML zasady Generate JWT, która nie powiodła się, i zweryfikuj nazwę zmiennej użytej w elemencie zidentyfikowanym w kroku 1. Jeśli nazwa zmiennej nie ma prefiksu
private., to jest to przyczyną błędu.Na przykład poniższe zasady pokazują, że element podrzędny
<Value>elementu<SecretKey>ma nieprawidłową nazwę zmiennejmykey:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="mykey"/> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>Ponieważ nazwa zmiennej określona w elemencie podrzędnym
<Value>elementu<SecretKey>w zasadach Generate JWT nie ma prefiksuprivate., pojawia się błąd:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Rozdzielczość
Upewnij się, że atrybut ref w elemencie podrzędnym <Value> elementów <PrivateKey> lub <SecretKey> jest zawsze określony i ma prefiks private..
Aby poprawić przykładowe zasady generowania tokena JWT pokazane powyżej, użyj zmiennej przepływu private.privatekey w elemencie podrzędnym <Value> elementu <SecretKey>:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidSecretInConfig
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe z błędem:

Przyczyna
Ten błąd występuje, jeśli wartość (obiekt tajny) jest określona w sposób jawny w:
- elementy podrzędne
<Value>lub<Password>elementu<PrivateKey>lub - Element podrzędny
<Value>elementu<SecretKey>
w zasadzie Generate JWT.
Na przykład ten błąd wystąpi, jeśli klucz tajny zostanie określony w sposób jawny jako abc w elemencie podrzędnym <Value> elementu <SecretKey>.
Diagnostyka
Z komunikatu o błędzie odczytaj nazwę zasady Generate JWT i nazwę elementu, w którym klucz tajny jest określony wprost. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, a nazwa elementu toSecretKey/Value.Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).Sprawdź, czy w nieudanym pliku XML zasad generowania tokena JWT w elemencie zidentyfikowanym w kroku 1 jest wyraźnie określony klucz tajny. Jeśli jest określony wprost, to jest przyczyną błędu.
Na przykład poniższe zasady pokazują, że klucz tajny został określony w elemencie podrzędnym
<Value>elementu<SecretKey>:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value>abc</Value> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>Ponieważ klucz tajny jest określony bezpośrednio w elemencie podrzędnym
<Value>elementu<SecretKey>w zasadach generowania tokena JWT, pojawia się błąd:Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Rozdzielczość
Upewnij się, że wartość jest zawsze określana jako zmienna przepływu w elemencie podrzędnym <Value> elementów <PrivateKey> lub <SecretKey>.
Aby poprawić przykładowe zasady generowania tokena JWT pokazane powyżej, użyj zmiennej przepływu private.secretkey w atrybucie ref elementu podrzędnego <Value> elementu <SecretKey>:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<ExpiresIn>1h</ExpiresIn>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTimeFormat
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision 2 Invalid Time format: policy(policy_name) element(element_name).
Przykładowy komunikat o błędzie
Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
Przykładowy zrzut ekranu
W interfejsie Edge zobaczysz okno dialogowe z błędem:

Przyczyna
Ten błąd występuje, jeśli wartość podana w elemencie <NotBefore> nie jest w jednym z obsługiwanych formatów:
sortable, RFC 1123, RFC 850, ANCI-C
Jeśli na przykład wartość podana w polu <NotBefore> to 20-JUN-1990 08:03, czyli format nieobsługiwany, wystąpi ten błąd.
<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
Diagnostyka
Z komunikatu o błędzie odczytaj nazwę zasady Generowanie tokena JWT i nazwę elementu, który ma nieprawidłowy format czasu. Na przykład w tym komunikacie o błędzie nazwa zasady Generate JWT to
JWT-Generate-HS256, a nazwa elementu toNotBefore.Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).Sprawdź plik XML zasady Generate JWT, która nie powiodła się, i zweryfikuj format czasu użyty w elemencie zidentyfikowanym w kroku 1. Jeśli element nie używa żadnego z obsługiwanych formatów:
sortable,RFC 1123,RFC 850,ANCI-Cwtedy to jest przyczyną błędu.
Na przykład poniższe zasady pokazują, że element podrzędny
<NotBefore>używa nieobsługiwanego formatu czasu:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>Element
<NotBefore>w zasadach Generate JWT nie używa żadnego z obsługiwanych formatów czasu, więc pojawia się błąd:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Rozdzielczość
Sprawdź, czy wartość podana w elemencie <NotBefore> jest w jednym z obsługiwanych formatów:
sortable, RFC 1123, RFC 850, ANCI-C
Aby poprawić przykładowe zasady generowania tokena JWT, zmień datę w elemencie <NotBefore>, aby używać formatu sortable, jak pokazano poniżej:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<ExpiresIn>1h</ExpiresIn>
<NotBefore>2018-08-14T11:00:21-07:00</NotBefore>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>