Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
InvalidNameForAdditionalClaim
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Invalid name for additional claim : policy(policy_name) claim(claim_name).
Esempio di messaggio di errore
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se il nome della dichiarazione utilizzata nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims>
è uno dei seguenti nomi registrati:
"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
I reclami registrati sono specificati in RFC7519.
Ad esempio, l'utilizzo del nome della rivendicazione iss
nell'elemento <AdditionalClaims>
genererà questo errore.
Diagnostica
Identifica il nome della norma di generazione JWT e il nome della rivendicazione indicato nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera criterio JWT è
JWT-Generate-HS256
e il nome della rivendicazione èiss
:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Verifica che il nome della rivendicazione utilizzato nell'elemento
<AdditionalClaims>
nel file XML del criterio Genera JWT non riuscito corrisponda al nome della rivendicazione identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, la seguente norma specifica la rivendicazione comeiss
, che corrisponde al contenuto del messaggio di errore:<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>
Se il nome della rivendicazione utilizzato nell'elemento secondario
<Claim>
dell'elemento<AdditionalClaims>
è uno dei seguenti nomi registrati:"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
è questa la causa dell'errore.
Nell'esempio Genera criterio JWT mostrato sopra, il nome
<Claim>
è specificato comeiss
nell'elemento<AdditionalClaims>
, generando l'errore:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Risoluzione
Non utilizzare nessuno dei nomi registrati come "kid", "iss", "sub", "aud", "iat", "exp", "nbf" o "jti" nell'elemento secondario <Claim>
dell'elemento<AdditionalClaims>
.
Per correggere il criterio JWT di esempio mostrato sopra, modifica il nome della rivendicazione in 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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
Esempio di messaggio di errore
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se il tipo di rivendicazione utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims>
del criterio generateJWT non è uno dei seguenti:
string
(predefinito), number
, boolean
o map
Ad esempio, l'utilizzo del tipo di rivendicazione integer
nell'elemento <AdditionalClaims>
causerà un errore.
Diagnostica
Identifica il nome della norma di generazione JWT, il nome della rivendicazione e il tipo di rivendicazione nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
, il nome della rivendicazione èclaim
e il tipo di rivendicazione èinteger
:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Verifica che il nome e il tipo della rivendicazione utilizzati nell'elemento
<AdditionalClaims>
nel file XML del criterio di generazione del criterio JWT non riuscito corrispondano al nome e al tipo della rivendicazione identificati nel messaggio di errore al passaggio 1. Ad esempio, la seguente norma specifica la rivendicazione comeclaim
e il tipo comeinteger
, che corrisponde al contenuto del messaggio di errore:<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>
Se il tipo di rivendicazione utilizzato nell'elemento secondario
<Claim>
dell'elemento<AdditionalClaims>
non è uno dei seguenti:string
(predefinito),number
,boolean
omap
è questa la causa dell'errore.
Nell'esempio di generazione del criterio JWT mostrato sopra, il tipo
<Claim>
nell'elemento<AdditionalClaims>
è specificato comeinteger
. Poichéinteger
non è un tipo supportato, viene visualizzato l'errore:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Risoluzione
Assicurati che nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims>
vengano utilizzati solo tipi di dati supportati come string
, number
, boolean
o map
.
Per correggere il criterio di generazione JWT di esempio mostrato sopra, modifica il tipo di rivendicazione in 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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
Esempio di messaggio di errore
Error Saving Revision 2
Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se il nome della rivendicazione non è specificato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims>
o <AdditionalHeaders>
.
Diagnostica
Identifica il nome del criterio JWT di generazione nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Esamina il file XML del criterio Genera JWT non riuscito e verifica se il nome della rivendicazione manca nell'elemento secondario
<Claims>
dell'elemento<AdditionalClaims>
o<AdditionalHeaders>
. Ad esempio, il seguente criterio Genera JWT non specifica il nome della rivendicazione nell'elemento<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>
Poiché il nome
<Claim>
non è specificato nell'elemento<AdditionalClaims>
, viene visualizzato l'errore:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Risoluzione
Assicurati che il nome della rivendicazione sia sempre specificato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims>
o <AdditionalHeaders>
.
Per correggere l'esempio di norma JWT di esempio mostrato sopra, specifica il nome della rivendicazione come mostrato di seguito:
<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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Invalid name for additional header : policy(policy_name)header(header_name).
Esempio di messaggio di errore
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se il nome dell'attestazione utilizzata nell'elemento secondario <Claim>
dell'elemento <AdditionalHeaders>
è una delle seguenti intestazioni JWT standard:
alg
o typ
Ad esempio, l'utilizzo del nome della rivendicazione alg
nell'elemento <AdditionalHeaders>
causerà l'errore.
Diagnostica
Identifica il nome del criterio JWT di generazione e il nome dell'intestazione dal messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera criterio JWT è
JWT-Generate-HS256
e il nome dell'intestazione èalg
:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Verifica che il nome dell'intestazione utilizzato nell'elemento secondario
<Claim>
sotto l'elemento<AdditionalHeaders>
nel file XML del criterio JWT di generazione degli errori corrisponda al nome dell'intestazione identificato nel messaggio di errore del passaggio 1. Ad esempio, il seguente criterio specifica l'intestazione comealg
, che corrisponde al contenuto del messaggio di errore:<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>
Se il nome dell'intestazione utilizzato nell'elemento secondario
<Claim>
dell'elemento<AdditionalClaims>
è una delle seguenti intestazioni JWT standard:alg
otyp
è questa la causa dell'errore.
Nell'esempio Genera criterio JWT mostrato sopra, il nome
<Claim>
è specificato comealg
nell'elemento<AdditionalClaims>
, generando l'errore:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Risoluzione
Non utilizzare le intestazioni JWT standard alg
o typ
nell'elemento secondario <Claim>
dell'elemento <AdditionalHeaders>
.
Per correggere il criterio JWT di esempio mostrato sopra, utilizza il nome x5c
nell'elemento secondario <Claim>
dell'elemento <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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
Esempio di messaggio di errore
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim1) type(integer).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
L'errore si verifica se il tipo di rivendicazione utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalHeaders>
del criterio generateJWT non è uno dei seguenti:
string
(valore predefinito), number
, boolean
o map
.
Ad esempio, l'utilizzo del tipo di rivendicazione integer
nell'elemento <AdditionalHeaders>
causerà l'errore.
Diagnostica
Identifica il nome della norma di generazione JWT, il nome della rivendicazione e il tipo di rivendicazione nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
, il nome della rivendicazione èclaim,
e il tipo di rivendicazione èinteger:
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
Verifica che il nome e il tipo di rivendicazione utilizzati nell'elemento
<AdditionalClaims>
nel file XML del criterio di generazione del criterio JWT non riuscito corrispondano al nome e al tipo di rivendicazione identificati nel messaggio di errore al passaggio 1. Ad esempio, la seguente norma specifica la rivendicazione comeclaim
e il tipo di rivendicazione comeinteger
, che corrisponde al contenuto del messaggio di errore:<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>
Se il tipo di rivendicazione utilizzato nell'elemento secondario
<Claim>
dell'elemento<AdditionalHeaders>
non è uno dei seguenti:string
(predefinito),number
,boolean
omap
è questa la causa dell'errore.
Nell'esempio di generazione del criterio JWT mostrato sopra, il tipo
<Claim>
nell'elemento<AdditionalHeaders>
è specificato comeinteger
. Poichéinteger
non è un tipo supportato, viene visualizzato l'errore:Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
Risoluzione
Assicurati che nell'elemento secondario <Claim>
dell'elemento <AdditionalHeaders>
vengano utilizzati solo i tipi di dati supportati string
, number
, boolean
o map
.
Per correggere il criterio di Genera JWT di esempio mostrato sopra, modifica il tipo di rivendicazione in 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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Invalid value for array attribute: policy(policy_name)claim(claim_name).
Esempio di messaggio di errore
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se il valore dell'attributo array nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims>
o <AdditionalHeaders>
non è impostato su true
o false
.
Ad esempio, l'impostazione del valore dell'attributo array su yes
nell'elemento secondario <Claim>
di <AdditionalClaims>
o <AdditionalHeaders>
causa l'errore.
Diagnostica
Identifica il nome della norma di generazione JWT e il nome della rivendicazione indicato nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
e il nome della rivendicazione èclaim:
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Verifica che il nome della rivendicazione utilizzato nell'elemento secondario
<Claim>
sotto l'elemento<AdditionalHeaders>
nel file XML del criterio Genera criterio JWT non riuscito corrisponda al nome della rivendicazione identificato nel messaggio di errore nel passaggio 1. Ad esempio, la seguente norma specifica il nome della rivendicazione comeclaim
, che corrisponde al contenuto del messaggio di errore:<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>
Se il valore dell'attributo
array
nell'elemento secondario<Claim>
dell'elemento<AdditionalClaims>
non è impostato sutrue
ofalse
, allora questa è la causa dell'errore.Poiché l'attributo
array
nell'elemento secondario<Claim>
dell'elemento<AdditionalClaims>
è impostato suyes
nell'esempio precedente, ricevi l'errore:Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Risoluzione
Assicurati che il valore dell'attributo array nell'elemento secondario <Claim>
di <AdditionalClaims>
o <AdditionalHeaders>
sia impostato su true
o false
.
Per correggere il criterio di generazione JWT di esempio mostrato sopra, modifica il valore dell'attributo array in 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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
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>).
Esempio di messaggio di errore
Error Saving Revision 2 Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se l'elemento <PrivateKey>
viene utilizzato con gli algoritmi della famiglia HS e l'elemento <SecretKey>
con gli algoritmi della famiglia RSA. L'errore si verifica anche se una delle seguenti condizioni è vera.
Ad esempio, l'utilizzo dell'elemento <PrivateKey>
con gli algoritmi della famiglia HS genera questo errore.
Diagnostica
Identifica il nome del criterio Genera JWT, il nome dell'elemento e il nome della famiglia dell'algoritmo nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
, il nome dell'elemento èPrivateKey
e la famiglia di algoritmi èHMAC
:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Verifica che l'elemento e la famiglia di algoritmi utilizzati nel file XML del criterio Genera JWT non riuscito corrispondano all'elemento e alla famiglia di algoritmi identificati nel messaggio di errore del passaggio 1. Ad esempio, il seguente criterio specifica l'elemento come
PrivateKey
e la famiglia di algoritmi comeHMAC
, che corrisponde al contenuto del messaggio di errore:<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>
Se il valore dell'elemento
<Algorithm>
èHS256
, ma hai utilizzato<PrivateKey>
, allora è questa la causa dell'errore.Nell'esempio di generazione del criterio JWT mostrato sopra, viene utilizzato
<PrivateKey>
anche se<PrivateKey>
è impostato su un algoritmo familiare,HS256
, che genera l'errore:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Risoluzione
Assicurati che l'elemento <PrivateKey>
venga utilizzato solo con gli algoritmi della famiglia RSA e che l'elemento <SecretKey>
venga usato solo con gli algoritmi della famiglia HS.
Per correggere il criterio di generazione JWT di esempio mostrato sopra, utilizza il criterio <SecretKey>
del criterio GeneraJWT che utilizza l'algoritmo 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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Invalid Value for element : policy(policy_name) element(element_name).
Esempio di messaggio di errore
Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se il valore specificato nell'elemento <Algorithm>
non è uno dei seguenti valori:
HS256
, HS384
, HS512
, RS256
, RS384
e RS512
Ad esempio, se specifichi il valore dell'algoritmo come RS128
nell'elemento <Algorithm>
, si verifica questo errore.
Diagnostica
Identifica il nome del criterio Genera JWT e il nome dell'elemento nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
e il nome dell'elemento èAlgorithm.
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Esamina il file XML del criterio Genera JWT non riuscito e controlla il valore specificato per l'elemento
<Algorithm>
.Di seguito è riportato un esempio di criterio per la generazione di un criterio 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>
Esamina il valore specificato nell'elemento
<Algorithm>
. Se non è uno dei seguenti valori:HS256
,HS384
,HS512
,RS256
,RS384
eRS512
è questa la causa dell'errore.
Nell'esempio di criterio JWT mostrato sopra, il nome
<Algorithm>
è specificato comeHS128
. Poiché non si tratta di un algoritmo supportato, riceverai l'errore:Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Risoluzione
Assicurati che il valore specificato nell'elemento <Algorithm>
sia uno dei valori supportati:
HS256
, HS384
, HS512
, RS256
, RS384
e RS512
Per correggere il criterio di generazione JWT di esempio mostrato sopra, che utilizza l'elemento <SecretKey>
, modifica il valore del criterio <Algorithm>
in HS25
. Nota: quando viene usato l'elemento <SecretKey>
, puoi usare soltanto gli algoritmi della famiglia HS.
<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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Missing configuration element : policy(policy_name) element(element_name).
Esempio di messaggio di errore
Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica quando l'elemento <PrivateKey>
non viene utilizzato con gli algoritmi della famiglia RSA nel criterio JWT di generazione. Analogamente, l'errore può verificarsi se l'elemento <SecretKey>
non viene utilizzato con gli algoritmi della famiglia HS nel criterio Genera JWT.
Ad esempio, questo errore si verifica se non utilizzi l'elemento <PrivateKey>
con gli algoritmi della famiglia RSA.
Diagnostica
Identifica il nome del criterio JWT di generazione e il nome dell'elemento mancante nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
e il nome dell'elemento mancante èSecretKey
.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Esamina il file XML del criterio JWT di generazione non riuscito e verifica che manchi l'elemento indicato nel messaggio di errore. Se non è presente, è questo il motivo dell'errore.
Ad esempio, nel seguente criterio,
SecretKey
non è presente e il valoreAlgorithm
utilizzato èHS256
:<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>
L'esempio di criterio JWT di generazione utilizza algoritmi della famiglia HS, ma manca l'elemento obbligatorio
SecretKey
, causando l'errore:Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Risoluzione
Assicurati che l'elemento obbligatorio <PrivateKey>
venga utilizzato con gli algoritmi della famiglia RSA e l'elemento <SecretKey>
obbligatorio con gli algoritmi della famiglia HS.
Per correggere l'esempio di criterio JWT di generazione mostrato sopra, che utilizza l'algoritmo HS256
, aggiungi l'elemento <SecretKey>
al criterio Genera 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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Esempio di messaggio di errore
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se l'elemento secondario obbligatorio <Value>
non è definito negli elementi <PrivateKey>
o <SecretKey>
del criterio JWT di generazione.
Diagnostica
Identifica il nome del criterio JWT di generazione nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio JWT di generazione è
JWT-Generate-HS256
.Invalid Key configuration : policy(JWT-Generate-HS256).
Esamina il file XML del criterio JWT generato non riuscito e verifica se l'elemento secondario
<Value>
non è definito negli elementi<PrivateKey>
o<SecretKey>
. Se<Value>
non è definito, è questa la causa dell'errore.Ad esempio, nel seguente criterio l'elemento secondario
<Value>
non è definito nell'elemento<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>
Poiché l'elemento secondario
<Value>
non è definito nell'elemento<SecretKey>
del criterio JWT di generazione, ricevi l'errore:Invalid Key configuration : policy(JWT-Generate-HS256).
Risoluzione
Assicurati che l'elemento secondario <Value>
sia sempre definito negli elementi <PrivateKey>
o <SecretKey>
del criterio JWT di generazione.
Per correggere il criterio JWT di esempio mostrato sopra, definisci l'elemento secondario <Value>
nell'elemento <SecretKey>
come mostrato di seguito:
<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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Empty Element for Key Configuration : policy(policy_name) element(element_name).
Esempio di messaggio di errore
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se l'attributo ref nell'elemento secondario <Value>
degli elementi <PrivateKey>
o <SecretKey>
non è specificato o non è vuoto.
Ad esempio, se l'elemento secondario <Value>
dell'elemento <SecretKey>
è vuoto, si verifica l'errore.
Diagnostica
Identifica il nome del criterio Genera JWT e il nome dell'elemento vuoto indicato nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
e il nome dell'elemento vuoto èSecretKey/Value
.Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Esamina il file XML del criterio Genera criterio JWT che non ha superato il test e verifica che l'elemento identificato nel passaggio 1 sia vuoto. Se è vuoto, è questo il motivo dell'errore.
Ad esempio, il seguente criterio mostra che l'elemento secondario
<Value>
dell'elemento<SecretKey>
è vuoto:<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>
Poiché l'elemento secondario
<Value>
dell'elemento<SecretKey>
nel criterio JWT di generazione è vuoto, viene visualizzato l'errore:Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Risoluzione
Assicurati che l'attributo ref nell'elemento secondario <Value>
degli elementi <PrivateKey>
o <SecretKey>
sia sempre specificato e abbia il prefisso "private.
".
Per correggere il criterio di generazione JWT di esempio mostrato sopra, utilizza la variabile di flusso private.privatekey
nell'elemento secondario <Value>
dell'elemento <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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Invalid variable name for secret : policy(policy_name) element(element_name).
Esempio di messaggio di errore
Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se il nome della variabile di flusso specificato nell'attributo ref nell'elemento secondario <Value>
degli elementi <PrivateKey>
o <SecretKey>
non include il prefisso privato (private.
).
For example :
Se il nome della variabile di flusso è specificato come mykey
nell'attributo ref dell'elemento secondario <Value>
dell'elemento <PrivateKey>
, si verifica questo errore.
Diagnostica
Identifica il nome del criterio Genera JWT e il nome dell'elemento con un nome di variabile non valido indicato nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
e il nome dell'elemento èSecretKey/Value
.Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Esamina il file XML del criterio Genera JWT che non ha superato il test e verifica il nome della variabile utilizzato nell'elemento, identificato nel passaggio 1. Se il nome della variabile non ha il prefisso
private.
, allora l'errore è questo.Ad esempio, il seguente criterio indica che l'elemento secondario
<Value>
dell'elemento<SecretKey>
ha il nome di variabilemykey
non valido:<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>
Poiché il nome della variabile specificato nell'elemento secondario
<Value>
dell'elemento<SecretKey>
del criterio Genera JWT non ha il prefissoprivate.
, viene visualizzato l'errore:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Risoluzione
Assicurati che l'attributo ref nell'elemento secondario <Value>
degli elementi <PrivateKey>
o <SecretKey>
sia sempre specificato e abbia il prefisso private.
.
Per correggere il criterio di generazione JWT di esempio mostrato sopra, utilizza la variabile di flusso private.privatekey
nell'elemento secondario <Value>
dell'elemento <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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).
Esempio di messaggio di errore
Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se il valore (secret) è specificato esplicitamente in:
- Gli elementi secondari
<Value>
o<Password>
dell'elemento<PrivateKey>
o - L'elemento secondario
<Value>
dell'elemento<SecretKey>
nel criterio JWT di generazione.
Ad esempio, se il secret è specificato esplicitamente come abc
nell'elemento secondario <Value>
dell'elemento <SecretKey>
, si verifica questo errore.
Diagnostica
Identifica il nome del criterio JWT di generazione e il nome dell'elemento in cui il secret è specificato esplicitamente dal messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
e il nome dell'elemento èSecretKey/Value
.Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Esamina il codice XML del criterio Genera criterio JWT non riuscito e verifica se il secret è specificato esplicitamente nell'elemento identificato nel passaggio 1. Se è specificato in modo esplicito, è questa la causa dell'errore.
Ad esempio, il seguente criterio indica che il secret è stato specificato in modo esplicito nell'elemento secondario
<Value>
dell'elemento<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>
Poiché il secret è specificato in modo esplicito nell'elemento secondario
<Value>
dell'elemento<SecretKey>
del criterio JWT di generazione, viene visualizzato il seguente errore:Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Risoluzione
Assicurati che il valore sia sempre specificato come variabile di flusso nell'elemento secondario <Value>
degli elementi <PrivateKey>
o <SecretKey>
.
Per correggere l'esempio di criterio Genera JWT mostrato sopra, utilizza la variabile di flusso private.secretkey
nell'attributo ref dell'elemento secondario <Value>
di <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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision 2 Invalid Time format: policy(policy_name) element(element_name).
Esempio di messaggio di errore
Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
Screenshot di esempio
Nella UI di Edge, vedrai una finestra di dialogo con un errore:
Causa
Questo errore si verifica se il valore specificato nell'elemento <NotBefore>
non rientra tra i formati supportati:
sortable
, RFC 1123
, RFC 850
e ANCI-C
Ad esempio, se il valore specificato in <NotBefore>
è 20-JUN-1990 08:03
, che non è un formato supportato, si verifica questo errore.
<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
Diagnostica
Identifica il nome del criterio JWT di generazione e il nome dell'elemento con un formato ora non valido indicato nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è
JWT-Generate-HS256
e il nome dell'elemento èNotBefore
.Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
Esamina il codice XML del criterio Genera criterio JWT che non ha superato il test e verifica il formato dell'ora utilizzato nell'elemento identificato nel passaggio 1. Se l'elemento non utilizza nessuno dei formati supportati:
sortable
,RFC 1123
,RFC 850
eANCI-C
è questa la causa dell'errore.
Ad esempio, il seguente criterio indica che l'elemento secondario
<NotBefore>
utilizza un formato dell'ora non supportato:<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>
Poiché l'elemento
<NotBefore>
del criterio Genera JWT non utilizza nessuno dei formati di ora supportati, viene visualizzato l'errore:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Risoluzione
Assicurati che il valore specificato nell'elemento <NotBefore>
utilizzi uno dei formati supportati:
sortable
, RFC 1123
, RFC 850
e ANCI-C
Per correggere il criterio di generazione JWT di esempio, modifica la data nell'elemento <NotBefore>
in modo da utilizzare il formato sortable
come mostrato di seguito:
<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>