Vous consultez la documentation d'Apigee et d'Apigee hybrid.
Consultez la documentation d'Apigee Edge.
InvalidNameForAdditionalClaim
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Invalid name for additional claim : policy(policy_name) claim(claim_name).
Exemple de message d'erreur
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si le nom de la revendication utilisée dans l'élément <Claim>
enfant de l'élément <AdditionalClaims>
est l'un des noms enregistrés suivants :
"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
Les revendications enregistrées sont spécifiées dans le protocole RFC 7519.
Par exemple, l'utilisation du nom de revendication iss
sous l'élément <AdditionalClaims>
entraîne cette erreur.
Diagnostic
Identifiez le nom de la règle Generate JWT et le nom de la revendication dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
et le nom de la revendication estiss
:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Vérifiez que le nom de la revendication utilisé dans l'élément
<AdditionalClaims>
du fichier XML de la règle Generate JWT défaillante correspond au nom identifié par le message d'erreur (étape 1 ci-dessus). Par exemple, la règle suivante spécifie la déclarationiss
, ce qui correspond au contenu du message d'erreur :<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="iss"/> </AdditionalClaims> </GenerateJWT>
Si le nom de revendication utilisé dans l'élément
<Claim>
enfant de l'élément<AdditionalClaims>
est l'un des noms enregistrés suivants :"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
alors il s'agit de la cause de l'erreur.
Dans l'exemple de règle Generate JWT présenté ci-dessus, le nom
<Claim>
est spécifié sous la formeiss
sous l'élément<AdditionalClaims>
, ce qui entraîne l'erreur :Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Solution
N'utilisez aucun des noms enregistrés "kid", "iss", "sub", "aud", "iat", "exp", "nbf" ou "jti" dans l'élément <Claim>
enfant de l'élément <AdditionalClaims>
.
Pour corriger l'exemple de règle Generate JWT présenté ci-dessus, remplacez le nom de la revendication par 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
InvalidTypeForAdditionalClaim
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
Exemple de message d'erreur
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si le type de revendication utilisé dans l'élément <Claim>
enfant de l'élément <AdditionalClaims>
de la règle Generate JWT n'est pas l'un des types suivants :
string
(par défaut), number
, boolean
ou map
.
Par exemple, l'utilisation du type de revendication integer
sous l'élément <AdditionalClaims>
génère l'erreur.
Diagnostic
Identifiez le nom de la règle Generate JWT, le nom de la revendication et le type de revendication dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
, le nom de la revendication estclaim
et le type de revendication estinteger
:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Vérifiez que le nom de la revendication et le type utilisés sous l'élément
<AdditionalClaims>
dans le fichier XML de la règle Generate JWT correspondent au nom et au type de revendication identifiés dans le message d'erreur de l'étape 1. Par exemple, la règle suivante spécifie la revendicationclaim
et le typeinteger
, ce qui correspond au contenu du message d'erreur :<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </GenerateJWT>
Si le type de revendication utilisé dans l'élément
<Claim>
enfant de l'élément<AdditionalClaims>
n'est pas l'un des types suivants :string
(par défaut),number
,boolean
oumap
.alors il s'agit de la cause de l'erreur.
Dans l'exemple de règle Generate JWT présenté ci-dessus, le type
<Claim>
sous l'élément<AdditionalClaims>
est défini commeinteger
. Commeinteger
n'est pas un type compatible, vous obtenez l'erreur suivante :Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Solution
Assurez-vous que seuls les types de données compatibles tels que string
, number
, boolean
ou map
sont utilisés dans l'élément <Claim>
enfant de l'élément <AdditionalClaims>
.
Pour corriger l'exemple de règle Generate JWT présenté ci-dessus, remplacez le type de revendication par 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
MissingNameForAdditionalClaim
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
Exemple de message d'erreur
Error Saving Revision 2
Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si le nom de la revendication n'est pas spécifié dans l'élément <Claim>
enfant de l'élément <AdditionalClaims>
ou <AdditionalHeaders>
.
Diagnostic
Identifiez le nom de la règle Generate JWT dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Examinez le fichier XML de la règle Generate JWT défaillante, puis vérifiez si le nom de la revendication est manquant dans l'élément enfant
<Claims>
sous l'élément<AdditionalClaims>
ou<AdditionalHeaders>
. Par exemple, la règle Generate JWT suivante ne spécifie pas le nom de la revendication sous l'élément<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </GenerateJWT>
Comme le nom
<Claim>
n'est pas spécifié sous l'élément<AdditionalClaims>
, vous obtenez l'erreur :Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Solution
Assurez-vous que le nom de la revendication est toujours spécifié dans l'élément <Claim>
enfant de l'élément <AdditionalClaims>
ou <AdditionalHeaders>
.
Pour corriger l'exemple de règle Generate JWT présenté ci-dessus, spécifiez le nom de la revendication, comme indiqué ci-dessous :
<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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
InvalidNameForAdditionalHeader
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Invalid name for additional header : policy(policy_name)header(header_name).
Exemple de message d'erreur
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si le nom de la revendication utilisée dans l'élément <Claim>
enfant de l'élément <AdditionalHeaders>
correspond à l'un des en-têtes JWT standards suivants :
alg
ou typ
Par exemple, l'utilisation du nom de revendication alg
sous l'élément <AdditionalHeaders>
entraîne l'erreur.
Diagnostic
Identifiez le nom de la règle Generate JWT et le nom de l'en-tête du message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
et le nom de l'en-tête estalg
:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Vérifiez que le nom d'en-tête utilisé dans l'élément enfant
<Claim>
sous l'élément<AdditionalHeaders>
dans le fichier XML de la règle Generate JWT défaillante correspond au nom d'en-tête identifié dans le message d'erreur de l'étape 1. Par exemple, la règle suivante spécifie l'en-têtealg
, qui correspond au contenu du message d'erreur :<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </GenerateJWT>
Si le nom d'en-tête utilisé dans l'élément
<Claim>
enfant de l'élément<AdditionalClaims>
est l'un des en-têtes JWT standards suivants :alg
outyp
alors il s'agit de la cause de l'erreur.
Dans l'exemple de règle Generate JWT présenté ci-dessus, le nom
<Claim>
est spécifié sous la formealg
sous l'élément<AdditionalClaims>
, ce qui entraîne l'erreur :Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Solution
N'utilisez pas les en-têtes JWT standards alg
ou typ
dans l'élément <Claim>
enfant de l'élément <AdditionalHeaders>
.
Pour corriger l'exemple de règle Generate JWT ci-dessus, utilisez le nom x5c
dans l'élément <Claim>
enfant de l'élément <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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTypeForAdditionalHeader
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
Exemple de message d'erreur
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim1) type(integer).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
L'erreur se produit si le type de revendication utilisé dans l'élément <Claim>
enfant de l'élément <AdditionalHeaders>
de la règle Generate JWT ne correspond pas à l'un des types suivants :
string
(par défaut), number
, boolean
ou map
.
Par exemple, l'utilisation du type de revendication integer
sous l'élément <AdditionalHeaders>
entraîne l'erreur.
Diagnostic
Identifiez le nom de la règle Generate JWT, le nom de la revendication et le type de revendication dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
, le nom de la revendication estclaim,
et le type de revendication estinteger:
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
Vérifiez que le nom de la revendication et le type utilisés sous l'élément
<AdditionalClaims>
dans le fichier XML de la règle Generate JWT correspondent au nom et au type de revendication identifiés dans le message d'erreur de l'étape 1. Par exemple, la règle suivante spécifie la revendicationclaim
et le typeinteger
, ce qui correspond au contenu du message d'erreur :<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </GenerateJWT>
Si le type de revendication utilisé dans l'élément
<Claim>
enfant de l'élément<AdditionalHeaders>
n'est pas l'un des types suivants :string
(par défaut),number
,boolean
oumap
.alors il s'agit de la cause de l'erreur.
Dans l'exemple de règle Generate JWT présenté ci-dessus, le type
<Claim>
sous l'élément<AdditionalHeaders>
est défini commeinteger
. Commeinteger
n'est pas un type compatible, vous obtenez l'erreur suivante :Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
Solution
Assurez-vous que seuls les types de données compatibles string
, number
, boolean
ou map
sont utilisés dans l'élément <Claim>
enfant de l'élément <AdditionalHeaders>
.
Pour corriger l'exemple de règle Generate JWT présenté ci-dessus, remplacez le type de revendication par 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueOfArrayAttribute
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Invalid value for array attribute: policy(policy_name)claim(claim_name).
Exemple de message d'erreur
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si la valeur de l'attribut de tableau dans l'élément <Claim>
enfant de l'élément <AdditionalClaims>
ou <AdditionalHeaders>
n'est pas définie sur true
ou false
.
Par exemple, définir la valeur de l'attribut de tableau sur yes
dans l'élément <Claim>
enfant de <AdditionalClaims>
ou <AdditionalHeaders>
entraîne l'erreur.
Diagnostic
Identifiez le nom de la règle Generate JWT et le nom de la revendication dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
et le nom de la revendication estclaim:
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Vérifiez que le nom de revendication utilisé dans l'élément enfant
<Claim>
sous l'élément<AdditionalHeaders>
dans le fichier XML de la règle Generate JWT défaillante correspond au nom de revendication identifié dans le message d'erreur de l'étape 1. Par exemple, la règle suivante spécifie le nom de déclarationclaim
, ce qui correspond au contenu du message d'erreur :<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </GenerateJWT>
Si la valeur de l'attribut
array
dans l'élément<Claim>
enfant de l'élément<AdditionalClaims>
n'est pas définie surtrue
oufalse
, il s'agit de la cause de l'erreur.Comme l'attribut
array
de l'élément<Claim>
enfant de l'élément<AdditionalClaims>
est défini suryes
dans l'exemple ci-dessus, vous obtenez l'erreur suivante :Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Solution
Assurez-vous que la valeur de l'attribut de tableau dans l'élément <Claim>
enfant de l'élément <AdditionalClaims>
ou <AdditionalHeaders>
est définie sur true
ou false
.
Pour corriger l'exemple de règle Generate JWT ci-dessus, remplacez la valeur de l'attribut de tableau par 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidConfigurationForActionAndAlgorithm
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
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>).
Exemple de message d'erreur
Error Saving Revision 2 Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si l'élément <PrivateKey>
est utilisé avec des algorithmes de la famille HS et que l'élément <SecretKey>
est utilisé avec des algorithmes de la famille RSA. L'erreur se produit également si l'une ou l'autre de ces conditions est vraie.
Par exemple, l'utilisation de l'élément <PrivateKey>
avec les algorithmes de la famille HS entraîne cette erreur.
Diagnostic
Identifiez le nom de la règle Generate JWT, le nom de l'élément et le nom de famille de l'algorithme à partir du message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
, le nom de l'élément estPrivateKey
et la famille d'algorithmes estHMAC
:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Vérifiez que l'élément et la famille d'algorithmes utilisés dans la règle Generate JWT défaillante correspondent à l'élément et à la famille d'algorithmes identifiés dans le message d'erreur de l'étape 1. Par exemple, la règle suivante spécifie l'élément
PrivateKey
et la famille d'algorithmesHMAC
, ce qui correspond au contenu du message d'erreur :<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array=tuu =/> </AdditionalClaims> </GenerateJWT>
Si la valeur de l'élément
<Algorithm>
estHS256
alors que vous avez utilisé<PrivateKey>
, ceci est la cause de l'erreur.Dans l'exemple de règle Generate JWT présenté ci-dessus, le champ
<PrivateKey>
est utilisé même si l'élément<PrivateKey>
est défini sur un algorithme de la familleHS256
, ce qui génère l'erreur :Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Solution
Assurez-vous que l'élément <PrivateKey>
n'est utilisé qu'avec les algorithmes de la famille RSA et que l'élément <SecretKey>
n'est utilisé qu'avec les algorithmes de la famille HS.
Pour corriger l'exemple de règle Generate JWT présenté ci-dessus, utilisez le <SecretKey>
de la règle Generate JWT qui fait appel à l'algorithme 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueForElement
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Invalid Value for element : policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si la valeur spécifiée dans l'élément <Algorithm>
n'est pas l'une des valeurs suivantes :
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
Par exemple, si vous spécifiez la valeur d'algorithme RS128
dans l'élément <Algorithm>
, cela entraîne cette erreur.
Diagnostic
Identifiez le nom de la règle Generate JWT et le nom de l'élément dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
et le nom de l'élément estAlgorithm.
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Examinez le fichier XML de la règle Generate JWT défaillante et vérifiez la valeur spécifiée pour l'élément
<Algorithm>
.Voici un exemple de règle Generate 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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </GenerateJWT>
Examinez la valeur spécifiée dans l'élément
<Algorithm>
. S'il ne s'agit pas de l'une des valeurs suivantes :HS256
,HS384
,HS512
,RS256
,RS384
,RS512
alors il s'agit de la cause de l'erreur.
Dans l'exemple de règle Generate JWT présenté ci-dessus, le nom
<Algorithm>
est spécifié en tant queHS128
. Comme cet algorithme n'est pas compatible, vous obtenez l'erreur suivante :Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Solution
Assurez-vous que la valeur spécifiée dans l'élément <Algorithm>
correspond à l'une des valeurs acceptées :
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
Pour corriger l'exemple de règle Generate JWT ci-dessus, qui utilise l'élément <SecretKey>
, remplacez la valeur de <Algorithm>
par HS25
. Remarque : Lorsque l'élément <SecretKey>
est utilisé, vous ne pouvez utiliser que des algorithmes de la famille 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
MissingConfigurationElement
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Missing configuration element : policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit lorsque l'élément <PrivateKey>
n'est pas utilisé avec les algorithmes de la famille RSA dans la règle Generate JWT. De même, l'erreur peut se produire si l'élément <SecretKey>
n'est pas utilisé avec les algorithmes de la famille HS dans la règle Generate JWT.
Par exemple, l'utilisation de l'élément <PrivateKey>
avec des algorithmes de la famille RSA entraîne cette erreur.
Diagnostic
Identifiez le nom de la règle Generate JWT et le nom de l'élément manquant dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
et le nom de l'élément manquant estSecretKey
.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Examinez le fichier XML de la règle Generate JWT défaillante et vérifiez que l'élément indiqué dans le message d'erreur est manquant. Si c'est le cas, il s'agit de la cause de l'erreur.
Par exemple, dans la règle suivante, la valeur
SecretKey
est manquante et la valeurAlgorithm
utilisée estHS256
:<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
L'exemple de règle Generate JWT utilise des algorithmes de la famille HS, mais l'élément
SecretKey
obligatoire est manquant, ce qui entraîne l'erreur :Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Solution
Assurez-vous que l'élément <PrivateKey>
obligatoire est utilisé avec des algorithmes de la famille RSA et que l'élément <SecretKey>
obligatoire est utilisé avec des algorithmes de la famille HS.
Pour corriger l'exemple de règle Generate JWT présenté ci-dessus qui utilise l'algorithme HS256
, ajoutez l'élément <SecretKey>
à la règle Generate 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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidKeyConfiguration
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Exemple de message d'erreur
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si l'élément enfant obligatoire <Value>
n'est pas défini dans les éléments <PrivateKey>
ou <SecretKey>
de la règle Generate JWT.
Diagnostic
Identifiez le nom de la règle Generate JWT dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
.Invalid Key configuration : policy(JWT-Generate-HS256).
Examinez le fichier XML de la règle Generate JWT défaillante et vérifiez si l'élément enfant
<Value>
n'est pas défini dans les éléments<PrivateKey>
ou<SecretKey>
. Si<Value>
n'est pas défini, il s'agit de la cause de l'erreur.Par exemple, dans la règle suivante, l'élément enfant
<Value>
n'est pas défini dans l'élément<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
Comme l'élément enfant
<Value>
n'est pas défini dans l'élément<SecretKey>
de la règle Generate JWT, vous obtenez l'erreur suivante :Invalid Key configuration : policy(JWT-Generate-HS256).
Solution
Assurez-vous que l'élément enfant <Value>
est toujours défini dans les éléments <PrivateKey>
ou <SecretKey>
de la règle Generate JWT.
Pour corriger l'exemple de règle Generate JWT présenté ci-dessus, définissez l'élément enfant <Value>
sous l'élément <SecretKey>
comme indiqué ci-dessous :
<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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
EmptyElementForKeyConfiguration
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Empty Element for Key Configuration : policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si l'attribut "ref" de l'élément <Value>
enfant des éléments <PrivateKey>
ou <SecretKey>
n'est pas spécifié ou vide.
Par exemple, si l'élément <Value>
enfant de l'élément <SecretKey>
est vide, l'erreur se produit.
Diagnostic
Identifiez le nom de la règle Generate JWT et le nom de l'élément vide dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
et le nom de l'élément vide estSecretKey/Value
.Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Examinez le fichier XML de la règle Generate JWT défaillante et vérifiez si l'élément identifié à l'étape 1 est vide. Si c'est le cas, il s'agit de la cause de l'erreur.
Par exemple, la règle suivante indique que l'élément
<Value>
enfant de l'élément<SecretKey>
est vide :<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
Comme l'élément
<Value>
enfant de l'élément<SecretKey>
de la règle Generate JWT est vide, vous obtenez l'erreur suivante :Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Solution
Assurez-vous que l'attribut "ref" de l'élément <Value>
enfant des éléments <PrivateKey>
ou <SecretKey>
est toujours spécifié et comporte le préfixe "private.
".
Pour corriger l'exemple de règle Generate JWT présenté ci-dessus, utilisez la variable de flux private.privatekey
dans l'élément <Value>
enfant de l'élément <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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidVariableNameForSecret
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Invalid variable name for secret : policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si le nom de la variable de flux spécifié dans l'attribut "ref" de l'élément <Value>
enfant de <PrivateKey>
ou <SecretKey>
n'inclut pas le préfixe privé (private.
).
Par exemple :
Si le nom de la variable de flux est spécifié sous la forme mykey
dans l'attribut "ref" de l'élément <Value>
enfant de l'élément <PrivateKey>
, cette erreur se produit.
Diagnostic
Identifiez le nom de la règle Generate JWT et le nom de l'élément comportant un nom de variable non valide dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
et le nom de l'élément estSecretKey/Value
.Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Examinez le fichier XML de la règle Generate JWT défaillante et vérifiez le nom de variable utilisé dans l'élément identifié à l'étape 1. Si le nom de la variable ne comporte pas le préfixe
private.
, alors il s'agit de la cause de l'erreur.Par exemple, la règle suivante indique que le nom de variable
mykey
de l'élément<Value>
enfant de l'élément<SecretKey>
est incorrect :<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
Comme le nom de la variable spécifié dans l'élément
<Value>
enfant de l'élément<SecretKey>
de la règle Generate JWT ne comporte pas le préfixeprivate.
, vous obtenez l'erreur :Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Solution
Assurez-vous que l'attribut "ref" de l'élément <Value>
enfant des éléments <PrivateKey>
ou <SecretKey>
est toujours spécifié et comporte le préfixe private.
.
Pour corriger l'exemple de règle Generate JWT ci-dessus, utilisez la variable de flux private.privatekey
dans l'élément <Value>
enfant de l'élément <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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidSecretInConfig
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si la valeur (secret) est spécifiée de manière explicite dans :
- Les éléments
<Value>
ou<Password>
enfants de l'élément<PrivateKey>
ou - L'élément
<Value>
enfant de l'élément<SecretKey>
dans la règle Generate JWT.
Par exemple, si le secret est clairement spécifié en tant que abc
dans l'élément <Value>
enfant de l'élément <SecretKey>
, cette erreur se produit.
Diagnostic
Identifiez le nom de la règle Generate JWT et le nom de l'élément dans lesquels le secret est explicitement spécifié à partir du message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
et le nom de l'élément estSecretKey/Value
.Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Examinez le fichier XML de la règle Generate JWT défaillante et vérifiez si le secret est clairement spécifié dans l'élément identifié à l'étape 1. Si c'est le cas, alors il s'agit de la cause de l'erreur.
Par exemple, la règle suivante montre que le secret a été clairement spécifié dans l'élément
<Value>
enfant de l'élément<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
Étant donné que le secret est clairement spécifié dans l'élément
<Value>
enfant de l'élément<SecretKey>
de la règle Generate JWT, vous obtenez l'erreur :Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Solution
Assurez-vous que la valeur est toujours spécifiée en tant que variable de flux dans l'élément <Value>
enfant des éléments <PrivateKey>
ou <SecretKey>
.
Pour corriger l'exemple de règle Generate JWT présenté ci-dessus, utilisez la variable de flux private.secretkey
dans l'attribut "ref" de l'élément <Value>
enfant de <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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTimeFormat
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision 2 Invalid Time format: policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
Exemple de capture d'écran
Dans l'interface utilisateur d'Apigee, une boîte de dialogue d'erreur s'affiche :
Cause
Cette erreur se produit si la valeur spécifiée dans l'élément <NotBefore>
ne fait pas partie des formats compatibles :
sortable
, RFC 1123
, RFC 850
, ANCI-C
Par exemple, si la valeur spécifiée dans <NotBefore>
est 20-JUN-1990 08:03
, qui n'est pas un format compatible, cette erreur se produit.
<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
Diagnostic
Identifiez le nom de la règle Generate JWT et le nom de l'élément qui présente un format d'heure non valide d'après le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle Generate JWT est
JWT-Generate-HS256
et le nom de l'élément estNotBefore
.Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
Examinez le fichier XML de la règle Generate JWT défaillante et vérifiez le format d'heure utilisé dans l'élément identifié à l'étape 1. Si l'élément n'utilise aucun des formats compatibles :
sortable
,RFC 1123
,RFC 850
,ANCI-C
alors il s'agit de la cause de l'erreur.
Par exemple, la règle suivante indique que l'élément enfant
<NotBefore>
utilise un format d'heure non compatible :<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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
Comme l'élément
<NotBefore>
de la règle Generate JWT n'utilise aucun des formats d'heure compatibles, vous obtenez l'erreur :Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Solution
Assurez-vous que la valeur spécifiée dans l'élément <NotBefore>
utilise l'un des formats compatibles :
sortable
, RFC 1123
, RFC 850
, ANCI-C
Pour corriger l'exemple de règle Generate JWT, modifiez la date dans l'élément <NotBefore>
au format sortable
, comme indiqué ci-dessous :
<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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>