<ph type="x-smartling-placeholder"></ph>
Vous consultez la documentation Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
InvalidNameForAdditionalClaim
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number 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-Verify-RS256) claim(iss).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
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 document RFC7519.
Par exemple, cette erreur se produit si vous utilisez le nom de revendication iss
sous l'élément <AdditionalClaims>
.
Diagnostic
Identifiez le nom de la règle VerifyJWT 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 VerifyJWT est
JWT-Verify-RS256
et le nom de la revendication estiss
:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Vérifiez que le nom de revendication utilisé sous l'élément
<AdditionalClaims>
dans le fichier XML de la règle VerifyJWT défaillante correspond au nom de revendication identifié dans le message d'erreur à l'étape 1. Par exemple, la règle suivante spécifie la revendicationiss
, ce qui correspond au contenu du message d'erreur :<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="iss"/> </AdditionalClaims> </VerifyJWT>
Si le nom de revendication utilisé dans l'élément enfant
<Claim>
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 VerifyJWT présenté ci-dessus, le nom
<Claim>
est spécifié en tant queiss
sous l'élément<AdditionalClaims>
, ce qui entraîne l'erreur :Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Solution
N'utilisez aucun des noms enregistrés "kid", "iss", "sub", "aud", "iat", "exp", "nbf" ou "jti" dans l'élément enfant <Claim>
de l'élément <AdditionalClaims>
.
Pour résoudre le problème rencontré avec l'exemple de règle VerifyJWT, remplacez le nom de la revendication par status
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
InvalidTypeForAdditionalClaim
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number 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-Verify-RS256) claim(claim) type(integer).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
Cause
Le type de la revendication utilisée dans l'élément enfant <Claim>
de l'élément <AdditionalClaims>
de la règle VerifyJWT 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 VerifyJWT, le nom de la revendication et le type à partir du message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle VerifyJWT est
JWT-Verify-RS256
, le nom de la revendication estclaim
et le type estinteger:
.Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Vérifiez que le nom de revendication et le type utilisés sous l'élément
<AdditionalClaims>
dans le fichier XML de la règle VerifyJWT défaillante correspondent au nom de revendication et au type identifiés dans le message d'erreur à 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 :<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </VerifyJWT>
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 VerifyJWT présenté ci-dessus, le type
<Claim>
est spécifié en tant queinteger
sous l'élément<AdditionalClaims>
. Commeinteger
n'est pas un type compatible, vous obtenez l'erreur suivante :Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Solution
Assurez-vous que seuls les types de données compatibles string
(par défaut), number
, boolean
ou map
sont utilisés dans l'élément enfant <Claim>
de l'élément <AdditionalClaims>
.
Pour corriger l'exemple de règle VerifyJWT, définissez le type de revendication sur boolean
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
MissingNameForAdditionalClaim
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number 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-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
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 VerifyJWT dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle VerifyJWT est
JWT-Verify-RS256
:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Examinez le fichier XML de la règle VerifyJWT 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 VerifyJWT suivante n'indique pas le nom de la revendication sous l'élément<AdditionalClaims>
:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </VerifyJWT>
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-Verify-RS256.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 enfant <Claim>
de l'élément <AdditionalClaims>
ou <AdditionalHeaders>
.
Pour corriger l'exemple de règle VerifyJWT, spécifiez le nom de la revendication comme indiqué ci-dessous :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
InvalidNameForAdditionalHeader
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number 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-Verify-RS256) header(alg).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
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 VerifyJWT et le nom de l'en-tête dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle VerifyJWT est
JWT-Verify-RS256
et le nom de l'en-tête estalg
:Invalid name for additional header: policy(JWT-Verify-RS256) 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 VerifyJWT défaillante correspond au nom d'en-tête identifié dans le message d'erreur à l'étape 1. Par exemple, la règle suivante spécifie l'en-têtealg
, ce qui correspond au contenu du message d'erreur :<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </VerifyJWT>
Si le nom d'en-tête utilisé dans l'élément enfant
<Claim>
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 VerifyJWT présenté ci-dessus, le nom
<Claim>
est spécifié en tant quealg
sous l'élément<AdditionalClaims>
, ce qui entraîne l'erreur :Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Solution
N'utilisez pas les en-têtes JWT standards alg
ou typ
dans l'élément enfant <Claim>
de l'élément <AdditionalHeaders>
.
Pour corriger l'exemple de règle VerifyJWT, utilisez le nom x5c
dans l'élément enfant <Claim>
de l'élément <AdditionalHeaders>
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidTypeForAdditionalHeader
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number 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-Verify-RS256) claim(claim1) type(integer).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
Cause
L'erreur se produit si le type de revendication utilisé dans l'élément enfant <Claim>
de l'élément <AdditionalHeaders>
de la règle VerifyJWT n'est pas de 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 VerifyJWT, le nom de la revendication et le type à partir du message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle VerifyJWT est
JWT-Verify-RS256
, le nom de la revendication estclaim
et le type estinteger
:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Vérifiez que le nom de revendication et le type utilisés sous l'élément
<AdditionalClaims>
dans le fichier XML de la règle VerifyJWT défaillante correspondent au nom de revendication et au type identifiés dans le message d'erreur à 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 :<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </VerifyJWT>
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 VerifyJWT présenté ci-dessus, le type
<Claim>
sous l'élément<AdditionalHeaders>
est spécifié en tant queinteger
. Commeinteger
n'est pas un type compatible, vous obtenez l'erreur suivante :Invalid type for additional header : policy(JWT-Verify-RS256) 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 VerifyJWT, définissez le type de revendication sur boolean
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueOfArrayAttribute
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number 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-Verify-RS256) claim(claim).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
Cause
Cette erreur se produit si la valeur de l'attribut de tableau dans l'élément enfant <Claim>
de l'élément <AdditionalClaims>
ou <AdditionalHeaders>
n'est pas définie sur true
ou false
.
Par exemple, la définition de la valeur de l'attribut de tableau sur yes
dans l'élément enfant <Claim>
de l'élément <AdditionalClaims>
ou <AdditionalHeaders>
entraîne l'erreur.
Diagnostic
Identifiez le nom de la règle VerifyJWT 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 VerifyJWT est
JWT-Verify-RS256
et le nom de la revendication estclaim
:Invalid value for array attribute: policy(JWT-Verify-RS256) 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 VerifyJWT défaillante correspond au nom de revendication identifié dans le message d'erreur à 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 :<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </VerifyJWT>
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-Verify-RS256) claim(claim).
Solution
Assurez-vous que la valeur de l'attribut de tableau dans l'élément enfant <Claim>
des éléments <AdditionalClaims>
ou <AdditionalHeaders>
est définie sur true
ou false
.
Pour corriger l'exemple de règle VerifyJWT présenté ci-dessus, remplacez la valeur de l'attribut de tableau par true
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueForElement
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
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 VerifyJWT 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 VerifyJWT est
JWT-Verify-RS256
et le nom de l'élément estAlgorithm
:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Examinez le fichier XML de la règle VerifyJWT défaillante et vérifiez la valeur spécifiée pour l'élément
<Algorithm>
.Voici un exemple de règle VerifyJWT :
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS128</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </VerifyJWT>
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 VerifyJWT 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-Verify-RS256) 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 VerifyJWT présenté 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.
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
MissingConfigurationElement
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
Cause
Cette erreur se produit lorsque l'élément <PublicKey>
n'est pas utilisé avec des algorithmes de la famille RSA dans la règle VerifyJWT. De même, l'erreur peut se produire si l'élément <SecretKey>
n'est pas utilisé avec des algorithmes de la famille HS dans la règle VerifyJWT.
Par exemple, l'utilisation de l'élément <PublicKey>
avec des algorithmes de la famille RSA entraîne cette erreur.
Diagnostic
Identifiez le nom de la règle VerifyJWT 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 VerifyJWT est
JWT-Verify-RS256
et le nom de l'élément manquant estPublicKey
:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Examinez le fichier XML de la règle VerifyJWT défaillante et vérifiez si 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, la règle suivante indique que l'élément
PublicKey
est manquant et que la valeurAlgorithm
utilisée estRS256
:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
L'exemple de règle VerifyJWT utilise des algorithmes de la famille HS, mais l'élément
PublicKey
obligatoire est manquant, ce qui entraîne l'erreur :Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Solution
Assurez-vous que l'élément <PublicKey>
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 VerifyJWT présenté ci-dessus, qui utilise l'algorithme RS256, ajoutez l'élément <PublicKey>
à la règle VerifyJWT :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Algorithm>RS256</Algorithm>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidKeyConfiguration
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Exemple de message d'erreur
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
Cause
Cette erreur se produit si l'élément enfant <Value>
ou l'élément enfant <JWKS>
obligatoire ne sont pas définis dans les éléments <PublicKey>
ou <SecretKey>
de la règle VerifyJWT.
Diagnostic
Identifiez le nom de la règle VerifyJWT dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle VerifyJWT est
JWT-Verify-RS256
:Invalid Key configuration : policy(JWT-Verify-RS256).
Examinez le fichier XML de la règle VerifyJWT défaillante et vérifiez si l'élément enfant
<Value>
ou l'élément enfant<JWKS>
ne sont pas définis dans les éléments<PublicKey>
ou<SecretKey>
. Si l'élément enfant n'est pas défini, il s'agit de la cause de l'erreur.Par exemple, la règle suivante indique que l'élément enfant
<Value>
ou<JWKS>
n'est pas défini dans l'élément<PublicKey>
:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
Comme l'élément enfant
<Value>
ou<JWKS>
n'est pas défini dans l'élément<PublicKey>
de la règle VerifyJWT, vous obtenez l'erreur suivante :Invalid Key configuration : policy(JWT-Verify-RS256).
Solution
Assurez-vous que l'élément enfant <Value>
ou <JWKS>
est toujours défini dans l'élément <PublicKey>
de la règle VerifyJWT.
Pour corriger l'exemple de règle VerifyJWT, définissez l'élément enfant <Value>
ou <JWKS>
sous l'élément <PublicKey>
, comme indiqué ci-dessous :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</PublicJWT>
EmptyElementForKeyConfiguration
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number 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-Verify-RS256) element(PublicKey/Value).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
Cause
Cette erreur se produit si l'attribut "ref" de l'élément enfant <Value>
ou <JWKS>
de l'élément <PublicKey>
n'est pas spécifié ou est vide.
Par exemple, si l'élément enfant <Value>
de l'élément <PublicKey>
est vide, l'erreur se produit.
Diagnostic
Identifiez le nom de la règle VerifyJWT et le nom de l'élément qui est vide dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle VerifyJWT est
JWT-Verify-RS256
et le nom de l'élément estPublicKey/Value
:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Examinez le fichier XML de la règle VerifyJWT 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 enfant
<Value>
de l'élément<PublicKey>
est vide :<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> <Value/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
Comme l'élément enfant
<Value>
de l'élément<PublicKey>
de la règle VerifyJWT est vide, vous obtenez l'erreur suivante :Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Solution
Assurez-vous que l'attribut "ref" de l'élément enfant <Value>
ou <JWKS>
de l'élément <PublicKey>
est toujours spécifié.
Pour corriger l'exemple de règle VerifyJWT, utilisez la variable de flux public.publickey
dans l'élément enfant <Value>
de l'élément <PublicKey>
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidConfigurationForVerify
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
Cause
Cette erreur se produit si l'élément <Id>
est défini dans l'élément <SecretKey>
d'une règle VerifyJWT.
Par exemple, si l'élément <Id>
est défini dans l'élément <SecretKey>
, cette erreur se produit.
Diagnostic
Identifiez le nom de la règle VerifyJWT et le nom de l'élément non valide dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle VerifyJWT est
JWT-Verify-RS256
et le nom de l'élément estSecretKey/Id
:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Examinez le fichier XML de la règle VerifyJWT défaillante et vérifiez si l'élément non valide identifié à l'étape 1 est défini. 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 enfant
<Id>
de l'élément<SecretKey>
est défini :<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="private.secretkey"/> <Id/> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
Comme l'élément
<Id>
est défini dans l'élément<SecretKey>
de la règle VerifyJWT, vous obtenez l'erreur suivante :Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Solution
Assurez-vous que l'élément <Id>
n'est jamais défini dans l'élément <SecretKey>
d'une règle VerifyJWT.
Pour corriger l'exemple de règle VerifyJWT, supprimez l'élément enfant <Id>
de l'élément <SecretKey>
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref='private.secretkey'/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidEmptyElement
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
Cause
Cette erreur se produit si l'élément <Source>
de la règle VerifyJWT est vide. S'il est présent, il doit être défini avec un nom de variable de flux Edge.
Diagnostic
Identifiez le nom de la règle VerifyJWT 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 VerifyJWT est
JWT-Verify-RS256
et le nom de l'élément estPublicKey/Value
:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Examinez le fichier XML de la règle VerifyJWT 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
<Source>
est vide :<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Source></Source> <PublicKey> <Value ref="public.publickey"/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
Comme l'élément
<Source>
de la règle VerifyJWT est vide, vous obtenez l'erreur suivante :Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Solution
Si l'élément <Source>
d'une règle VerifyJWT est présent, assurez-vous qu'il spécifie une variable de flux.
Pour corriger l'exemple de règle VerifyJWT, utilisez une variable de flux valide dans l'élément <Source>
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>jwt-variable</Source>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidPublicKeyValue
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
Exemple de message d'erreur
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
Cause
Cette erreur se produit si le format de la valeur utilisée dans l'élément enfant <JWKS>
de l'élément <PublicKey>
n'est pas valide comme indiqué dans le document RFC 7517.
Par exemple, l'utilisation de abc
en tant que valeur de l'élément enfant <JWKS>
sous l'élément <PublicKey>
génère cette erreur.
Diagnostic
Identifiez le nom de la règle JWT et le nom de l'élément contenant une valeur non valide dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle VerifyJWT est
JWT-Verify-RS256
et l'élément estPublicKey/JWKS
:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Examinez le fichier XML de la règle VerifyJWT et vérifiez que l'élément identifié à l'étape 1 contient une valeur dont le format est valide, conformément au document RFC 7517. Si le format de la valeur de l'élément n'est pas valide, il s'agit de la cause de l'erreur.
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PublicKey> <JWKS>abc<JWKS> </PublicKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> </VerifyJWT>
Comme le format de la valeur de l'élément enfant
<JWKS>
de l'élément<PublicKey>
n'est pas valide conformément au document RFC 7517, vous obtenez l'erreur suivante :Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Solution
Assurez-vous que la valeur spécifiée dans l'élément enfant <JWKS>
de l'élément <PublicKey>
est une chaîne ou une variable de flux valide dans un format JWKS valide (RFC 7517).
Pour corriger l'exemple de règle VerifyJWT, modifiez la valeur de <JWKS>
comme indiqué ci-dessous :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<JWKS>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM</JWKS>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
</VerifyJWT>
InvalidConfigurationForActionAndAlgorithm
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision <var>revision_number</var>
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).
Exemple de message d'erreur
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Exemple de capture d'écran
Dans l'interface utilisateur Edge, vous verrez une boîte de dialogue avec une erreur:
Cause
Cette erreur se produit si l'élément <PublicKey>
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 <PublicKey>
avec les algorithmes de la famille HS entraîne cette erreur.
Diagnostic
Identifiez le nom de la règle VerifyJWT, le nom de l'élément et le nom de la famille d'algorithmes dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle VerifyJWT est
JWT-Verify-HS256
, le nom de l'élément estPublicKey
et la famille d'algorithmes estRSA
:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Vérifiez que l'élément et la famille d'algorithmes utilisés dans la règle VerifyJWT défaillante correspondent à l'élément et à la famille d'algorithmes identifiés dans le message d'erreur à l'étape 1. Par exemple, la règle suivante spécifie l'élément
PublicKey
et la famille d'algorithmesHMAC
, ce qui correspond au contenu du message d'erreur :<VerifyJWT name="JWT-Verify-HS256"> <DisplayName>JWT Verify HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request.formparam.jwt</Source> <PublicKey> <Value ref="var-value"/> </PublicKey> <SecretKey> <Value ref="private.secretkey"/> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> </VerifyJWT>
Si la valeur de l'élément
<Algorithm>
estHS256
alors que vous avez utilisé<PublicKey>
, il s'agit de la cause de l'erreur.Dans l'exemple de règle VerifyJWT présenté ci-dessus, l'élément
<PublicKey>
est utilisé même si<Algorithm>
est défini sur un algorithme de la famille HS256, ce qui entraîne l'erreur :Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Solution
Assurez-vous que l'élément <PublicKey>
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 VerifyJWT, utilisez l'élément <SecretKey>
de la règle VerifyJWT qui fait appel à l'algorithme HS256 :
<VerifyJWT name="JWT-Verify-HS256">
<DisplayName>JWT Verify HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>request.formparam.jwt</Source>
<SecretKey>
<Value ref="private.secretkey"/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
</VerifyJWT>