Esta é a documentação da Apigee e da Apigee híbrida.
Confira a documentação da Apigee Edge.
InvalidNameForAdditionalClaim
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision revision_number Invalid name for additional claim : policy(policy_name) claim(claim_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Esse erro ocorrerá se o nome da declaração usado no elemento filho <Claim> do elemento <AdditionalClaims> for um dos seguintes nomes registrados:
"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
As declarações registradas são especificadas na RFC 7519.
Por exemplo, o uso do nome da reivindicação iss no elemento <AdditionalClaims> resultará neste erro.
Diagnóstico
Identifique o nome da política Verify JWT e o nome da declaração na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política "Verify JWT" é
JWT-Verify-RS256e o nome da reivindicação éiss:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).Verifique se o nome da declaração usado no elemento
<AdditionalClaims>do XML de política de JWT com falha corresponde ao nome da declaração identificado na mensagem de erro na Etapa 1. Por exemplo, a política a seguir especifica a declaração comoiss, que corresponde ao que está na mensagem de erro:<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>Se o nome da declaração usado no elemento filho
<Claim>do elemento<AdditionalClaims>for um dos seguintes nomes registrados:"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
essa é a causa do erro.
No exemplo de política Verify JWT mostrado acima, o nome
<Claim>é especificado comoissno elemento<AdditionalClaims>, resultando no erro:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Resolução
Não use nenhum dos nomes registrados "kid", "iss", "sub", "aud", "iat", "exp", "nbf" ou "jti" no elemento filho <Claim> de <AdditionalClaims>.
Para corrigir o problema com o exemplo de política Verify JWT, altere o nome da reivindicação para 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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision revision_number Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
O tipo de declaração usado no elemento filho <Claim> do elemento <AdditionalClaims> da política VerifyJWT não é um dos seguintes tipos:
string (padrão), number, boolean ou map
Por exemplo, usar o tipo de declaração integer no elemento <AdditionalClaims> resultará no erro.
Diagnóstico
Identifique o nome da política "Verify JWT", o nome da reivindicação e o tipo na mensagem de erro. Por exemplo, na mensagem de erro a seguir, o nome da política "Verify JWT" é
JWT-Verify-RS256, o nome da reivindicação éclaime o tipo éinteger:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).Verifique se o nome da reivindicação e o tipo usado no elemento
<AdditionalClaims>no XML de política "Verify JWT" correspondem ao nome da reivindicação e ao tipo identificado na mensagem de erro na Etapa 1. Por exemplo, a política a seguir especifica a declaração comoclaime o tipo comointeger, que corresponde ao que está na mensagem de erro:<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>Se o tipo de declaração usado no elemento filho
<Claim>do elemento<AdditionalClaims>não for um dos seguintes tipos:string(padrão),number,booleanoumapessa é a causa do erro.
No exemplo de política "Verify JWT" mostrado acima, o tipo
<Claim>é especificado comointegerno elemento<AdditionalClaims>. Comointegernão é um tipo compatível, você recebe o erro:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Resolução
Garanta que somente os tipos de dados compatíveis string (padrão), number, boolean ou map sejam usados no elemento filho <Claim> do elemento <AdditionalClaims>.
Para corrigir o exemplo de política Verify JWT, altere o tipo de reivindicação para 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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision revision_number Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
Exemplo de mensagem de erro
Error Saving Revision 2
Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Esse erro ocorrerá se o nome da declaração não for especificado no elemento filho <Claim> do elemento <AdditionalClaims> ou <AdditionalHeaders>.
Diagnóstico
Identifique o nome da política "Verify JWT" na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política "Verify JWT" é
JWT-Verify-RS256:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in ClaimExamine o XML da política Verify JWT com falha e confira se o nome da declaração está ausente no elemento filho
<Claims>no elemento<AdditionalClaims>ou<AdditionalHeaders>. Por exemplo, a política "Verify JWT" a seguir não especifica o nome da declaração no elemento<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>Como o nome
<Claim>não está especificado no elemento<AdditionalClaims>, você recebe o erro:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Resolução
Certifique-se de que o nome da declaração seja sempre especificado no elemento filho <Claim> do elemento <AdditionalClaims> ou <AdditionalHeaders>.
Para corrigir o exemplo de política Verify JWT, especifique o nome da reivindicação como mostrado abaixo:
<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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision revision_number Invalid name for additional header : policy(policy_name)header(header_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Este erro ocorrerá se o nome da declaração usada no elemento filho <Claim> do elemento <AdditionalHeaders> for um dos seguintes cabeçalhos JWT padrão:
alg ou typ
Por exemplo, o uso do nome de reivindicação alg no elemento <AdditionalHeaders> causará o erro.
Diagnóstico
Identifique o nome da política Verify JWT e o nome do cabeçalho da mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política de JWT de verificação é
JWT-Verify-RS256e o nome do cabeçalho éalg:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).Verifique se o nome do cabeçalho usado no elemento filho
<Claim>no elemento<AdditionalHeaders>no XML de política JWT com falha corresponde ao nome do cabeçalho identificado na mensagem de erro na Etapa 1. Por exemplo, a política a seguir especifica o cabeçalho comoalg, que corresponde ao que está na mensagem de erro:<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>Se o nome de cabeçalho usado no elemento filho
<Claim>do elemento<AdditionalClaims>é um dos seguintes cabeçalhos JWT padrão:algoutypessa é a causa do erro.
No exemplo de política Verify JWT mostrado acima, o nome
<Claim>é especificado comoalgno elemento<AdditionalClaims>, resultando no erro:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Resolução
Não use os cabeçalhos JWT padrão alg ou typ no elemento filho <Claim> do elemento <AdditionalHeaders>.
Para corrigir o exemplo de política "Verify JWT", use o nome x5c no elemento filho <Claim> do elemento <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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision revision_number Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim1) type(integer).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
O erro ocorrerá se o tipo de declaração usado no elemento filho <Claim> do elemento <AdditionalHeaders> da política Verify JWT não for um dos seguintes tipos:
string (padrão), number, boolean ou map
Por exemplo, o uso do tipo de declaração integer no elemento <AdditionalHeaders> causará o erro.
Diagnóstico
Identifique o nome da política "Verify JWT", o nome da declaração e o tipo da mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é
JWT-Verify-RS256, o nome da declaração éclaime o tipo éinteger:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).Verifique se o nome da reivindicação e o tipo usado no elemento
<AdditionalClaims>no XML de política "Verify JWT" correspondem ao nome da reivindicação e ao tipo identificado na mensagem de erro na Etapa 1. Por exemplo, a política a seguir especifica a declaração comoclaime o tipo de declaração comointeger,, que corresponde ao que está na mensagem de erro:<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>Se o tipo de declaração usado no elemento filho
<Claim>do elemento<AdditionalHeaders>não for um dos seguintes tipos:string(padrão),number,booleanoumapessa é a causa do erro.
No exemplo de política de verificação do JWT mostrado acima, o tipo
<Claim>no elemento<AdditionalHeaders>é especificado comointeger. Comointegernão é um tipo compatível, você recebe o erro:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Resolução
Verifique se apenas os tipos de dados compatíveis string, number, boolean ou map são usados no elemento filho <Claim> do elemento <AdditionalHeaders>.
Para corrigir o exemplo de política Verify JWT, altere o tipo de reivindicação para 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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision revision_number Invalid value for array attribute: policy(policy_name)claim(claim_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o valor do atributo de matriz no elemento filho <Claim> do elemento <AdditionalClaims> ou <AdditionalHeaders> não estiver definido como true ou false.
Por exemplo, definir o valor do atributo da matriz como yes no elemento filho <Claim> do elemento <AdditionalClaims> ou <AdditionalHeaders> causa o erro.
Diagnóstico
Identifique o nome da política Verify JWT e o nome da declaração na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política "Verify JWT" é
JWT-Verify-RS256e o nome da reivindicação éclaim:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).Verifique se o nome da reivindicação usado no elemento filho
<Claim>no elemento<AdditionalHeaders>da falha no XML da política Verify JWT corresponde ao nome da reivindicação identificado na mensagem de erro na etapa 1. Por exemplo, a seguinte política especifica o nome da declaração comoclaim, que corresponde ao que está na mensagem de erro:<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>Se o valor do atributo
arrayno elemento filho<Claim>do elemento<AdditionalClaims>não estiver definido comotrueoufalse, essa é a causa do erro.Como o atributo
arrayno elemento filho<Claim>do elemento<AdditionalClaims>está definido comoyesno exemplo acima, você recebe o erro:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Resolução
Verifique se o valor do atributo da matriz no elemento filho <Claim> dos elementos <AdditionalClaims> ou <AdditionalHeaders> está definido como true ou false.
Para corrigir o exemplo de política Verify JWT mostrada acima, altere o valor do atributo da matriz para 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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o valor especificado no elemento <Algorithm> não é um dos seguintes valores:
HS256, HS384, HS512, RS256, RS384, RS512
Por exemplo, especificar o valor do algoritmo como RS128 no elemento <Algorithm> leva a esse erro.
Diagnóstico
Identifique o nome da política Verify JWT e o nome do elemento da mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política "Verify JWT" é
JWT-Verify-RS256e o nome do elemento éAlgorithm:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).Examine o XML da política Verify JWT com falha e verifique o valor especificado para o elemento
<Algorithm>.Veja uma amostra de política Verify JWT:
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS128</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </VerifyJWT>Analisa o valor especificado no elemento
<Algorithm>. Se não for um dos seguintes valores:HS256,HS384,HS512,RS256,RS384,RS512essa é a causa do erro.
No exemplo de política Verify JWT mostrado acima, o nome
<Algorithm>é especificado comoHS128. Como este não é um algoritmo compatível, você recebe o erro:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Resolução
Verifique se o valor especificado no elemento <Algorithm> é um dos valores compatíveis:
HS256, HS384, HS512, RS256, RS384, RS512
Para corrigir o exemplo de política Verify JWT mostrada acima, que usa o elemento <SecretKey>, altere o valor de <Algorithm> para HS25. Quando o elemento <SecretKey> é usado, só é possível usar algoritmos de família 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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Esse erro ocorre quando o elemento <PublicKey> não é usado com algoritmos RSA da família na política "Verify JWT". Da mesma forma, o erro poderá ocorrer se o elemento <SecretKey> não for usado com algoritmos da família HSS na política "Verify JWT".
Por exemplo, não usar o elemento <PublicKey> com algoritmos RSA da família leva a esse erro.
Diagnóstico
Identifique o nome da política "Verify JWT" e o nome do elemento ausente na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT de verificação é
JWT-Verify-RS256e o nome do elemento ausente éPublicKey:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).Examine o XML da política Verify JWT com falha e verifique se o elemento indicado na mensagem de erro está ausente. Se estiver faltando, essa é a causa do erro.
Por exemplo, a política a seguir mostra que
PublicKeyestá ausente eAlgorithmusado éRS256:<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>O exemplo de política "Verify JWT" usa algoritmos da família HS, mas o elemento obrigatório
PublicKeyestá ausente, resultando no erro:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Resolução
Certifique-se de que o elemento obrigatório <PublicKey> seja usado com algoritmos RSA Family e o elemento obrigatório <SecretKey> seja usado com algoritmos HS.
Para corrigir o exemplo de política Verify JWT mostrado acima, que usa o algoritmo RS256, adicione o elemento <PublicKey> à política Verify JWT:
<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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Este erro ocorrerá se o elemento filho <Value> ou o elemento filho obrigatório <JWKS> não estiver definido nos elementos <PublicKey> ou <SecretKey> da política Verify JWT.
Diagnóstico
Identifique o nome da política "Verify JWT" na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política "Verify JWT" é
JWT-Verify-RS256:Invalid Key configuration : policy(JWT-Verify-RS256).Examine o XML da política Verify JWT com falha e verifique se o elemento filho
<Value>ou o elemento filho<JWKS>não está definido nos elementos<PublicKey>ou<SecretKey>. Se o elemento filho não estiver definido, essa será a causa do erro.Por exemplo, a política a seguir mostra que o elemento filho
<Value>ou<JWKS>não está definido no elemento<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>Como o elemento filho
<Value>ou<JWKS>não está definido no elemento<PublicKey>da política "Verify JWT", o erro aparece:Invalid Key configuration : policy(JWT-Verify-RS256).
Resolução
Verifique se o elemento filho <Value> ou <JWKS> está sempre definido no elemento <PublicKey> da política Verify JWT.
Para corrigir o exemplo de política Verify JWT, defina o elemento filho <Value> ou <JWKS> no elemento <PublicKey>, conforme mostrado abaixo:
<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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision revision_number Empty Element for Key Configuration : policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o atributo de referência no elemento filho <Value> ou <JWKS> do elemento <PublicKey> não estiver especificado ou estiver vazio.
Por exemplo, se o elemento filho <Value> do elemento <PublicKey> estiver vazio, ocorrerá o erro.
Diagnóstico
Identifique o nome da política Verify JWT e o nome do elemento que está vazio na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política "Verify JWT" é
JWT-Verify-RS256e o nome do elemento éPublicKey/Value:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).Examine o XML da política Verify JWT com falha e verifique se o elemento identificado na Etapa 1 está vazio. Se estiver vazio, essa é a causa do erro.
Por exemplo, a política a seguir mostra que o elemento filho
<Value>do elemento<PublicKey>está vazio:<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>Como o elemento filho
<Value>do elemento<PublicKey>da política Verify JWT está vazio, você recebe o erro:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Resolução
Verifique se o atributo "ref" no elemento filho <Value> ou <JWKS> do elemento <PublicKey> é sempre especificado.
Para corrigir o exemplo de política Verify JWT, use a variável de fluxo public.publickey no elemento filho <Value> do elemento <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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o elemento <Id> for definido no elemento <SecretKey> de uma política VerifyJWT.
Por exemplo, se o elemento <Id> for definido no elemento <SecretKey>, esse erro ocorrerá.
Diagnóstico
Identifique o nome da política "Verify JWT" e o nome do elemento inválido da mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é
JWT-Verify-RS256e o nome do elemento éSecretKey/Id:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)Examine o XML da política Verify JWT com falha e confira se o elemento inválido identificado na Etapa 1 está definido. Se estiver definido, essa será a causa do erro.
Por exemplo, a política a seguir mostra que o elemento filho
<Id>do elemento<SecretKey>é definido:<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>Como o elemento
<Id>é definido no elemento<SecretKey>da política "Verify JWT", você recebe o erro:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Resolução
Garanta que o elemento <Id> nunca seja definido no elemento <SecretKey> de uma política "Verify JWT".
Para corrigir o exemplo de política Verify JWT, remova o elemento filho <Id> do elemento <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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o elemento <Source> da política Verify JWT estiver vazio. Se estiver presente, ela precisa ser definida com um nome de variável de fluxo.
Diagnóstico
Identifique o nome da política "Verify JWT" e o nome do elemento vazio da mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política "Verify JWT" é
JWT-Verify-RS256e o nome do elemento éPublicKey/Value:Invalid empty element : policy(JWT-Verify-HS256) element(Source).Examine o XML da política Verify JWT com falha e verifique se o elemento identificado na Etapa 1 está vazio. Se estiver vazio, essa é a causa do erro.
Por exemplo, a política a seguir mostra que o elemento
<Source>está vazio:<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>Como o elemento
<Source>da política "Verify JWT" está vazio, você recebe o erro:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Resolução
Se o elemento <Source> de uma política Verify JWT estiver presente, verifique se ele especifica uma variável de fluxo.
Para corrigir o exemplo de política Verify JWT, use uma variável de fluxo válida no elemento <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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Esse erro ocorrerá se o valor usado no elemento filho <JWKS> do elemento <PublicKey> não estiver em um formato válido, conforme especificado em RFC 7517.
Por exemplo, usar abc como o valor do elemento filho <JWKS> no elemento <PublicKey> resultará nesse erro.
Diagnóstico
Identifique o nome da política Verify JWT e o nome do elemento que contém um valor inválido na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é
JWT-Verify-RS256e o elemento éPublicKey/JWKS:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).Examine o XML da política Verify JWT e verifique se o elemento identificado na Etapa 1 contém um valor em um formato válido de acordo com a RFC 7517. Se o valor do elemento não estiver em formato válido, essa é a causa do erro.
<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>Como o valor no elemento filho
<JWKS>do elemento<PublicKey>não está em um formato válido de acordo com o RFC 7517 (em inglês), você recebe o erro:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Resolução
Verifique se o valor especificado no elemento filho <JWKS> do elemento <PublicKey> é uma string válida ou uma variável de fluxo em um formato JWKS válido (RFC 7517).
Para corrigir o exemplo de política Verify JWT, altere o valor de <JWKS>, conforme mostrado abaixo:
<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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
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>).
Exemplo de mensagem de erro
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Exemplo de captura de tela
Na IU da Apigee, você verá uma caixa de diálogo com um erro:

Causa
Esse erro ocorrerá se o elemento <PublicKey> for usado com algoritmos da família HS, e o elemento <SecretKey> for usado com algoritmos RSA Family. O erro também ocorrerá se qualquer uma dessas condições for verdadeira.
Por exemplo, usar o elemento <PublicKey> com os algoritmos da família HS leva esse erro.
Diagnóstico
Identifique o nome da política Verify JWT, o nome do elemento e o nome da família do algoritmo da mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política "Verify JWT" é
JWT-Verify-HS256, o nome do elemento éPublicKeye a família de algoritmos éRSA:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).Verifique se o elemento e a família de algoritmos usados na política Verify JWT XML falhou no elemento e na família de algoritmos identificada na mensagem de erro na Etapa 1. Por exemplo, a política a seguir especifica o elemento como
PublicKeye a família de algoritmos comoHMAC, que corresponde ao que está na mensagem de erro.<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>Se o valor do elemento
<Algorithm>forHS256, mas você tiver usado<PublicKey>, essa será a causa do erro.No exemplo da política Verify JWT exibida acima, o elemento
<PublicKey>é usado mesmo que o<Algorithm>esteja definido como um algoritmo de família HS256, resultando no erro:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Resolução
O elemento <PublicKey> deve ser usado somente com algoritmos RSA Family, e o elemento <SecretKey> é usado apenas com algoritmos HS Family.
Para corrigir o exemplo de política Verify JWT, use <SecretKey> da política VerifyJWT que usa o algoritmo 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>