Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do
Apigee Edge.
InvalidNameForAdditionalClaim
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 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-Generate-HS256) claim(iss).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o nome da reivindicação usado no elemento secundário <Claim> do elemento <AdditionalClaims> for um dos seguintes nomes registados:
"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
As reivindicações registadas são especificadas no RFC 7519.
Por exemplo, usar o nome da reivindicação iss no elemento <AdditionalClaims> vai gerar este erro.
Diagnóstico
Identifique o nome da política Generate JWT e o nome da reivindicação na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256e o nome da reivindicação éiss:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).Verifique se o nome da reivindicação usado no elemento
<AdditionalClaims>no XML da política Generate JWT com falha corresponde ao nome da reivindicação identificado na mensagem de erro (passo 1 acima). Por exemplo, a seguinte política especifica a reivindicação comoiss, que corresponde ao que está na mensagem de erro:<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>Se o nome da reivindicação usado no elemento secundário
<Claim>do elemento<AdditionalClaims>for um dos seguintes nomes registados:"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
Então, essa é a causa do erro.
No exemplo da política Generate JWT apresentado acima, o nome
<Claim>é especificado comoissno elemento<AdditionalClaims>, o que resulta no erro:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Resolução
Não use nenhum dos nomes registados "kid", "iss", "sub", "aud", "iat", "exp", "nbf" ou "jti" no elemento secundário <Claim>do elemento<AdditionalClaims>.
Para corrigir a política de geração de JWT de exemplo apresentada acima, altere o nome da reivindicação para 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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 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-Generate-HS256) claim(claim) type(integer).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o tipo de reivindicação usado no elemento filho <Claim> do elemento <AdditionalClaims> da política GenerateJWT não for um dos seguintes tipos:
string (predefinição), number, boolean ou map
Por exemplo, a utilização do tipo de reivindicação integer no elemento <AdditionalClaims> resulta no erro.
Diagnóstico
Identifique o nome da política Generate JWT, o nome da reivindicação e o tipo de reivindicação na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256, o nome da reivindicação éclaime o tipo de reivindicação éinteger:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).Verifique se o nome da reivindicação e o tipo usados no elemento
<AdditionalClaims>no XML da política de geração de JWT com falha correspondem ao nome e ao tipo da reivindicação identificados na mensagem de erro no passo 1. Por exemplo, a seguinte política especifica a reivindicação comoclaime o tipo comointeger, o que corresponde ao que está na mensagem de erro:<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>Se o tipo de reivindicação usado no elemento secundário
<Claim>do elemento<AdditionalClaims>não for um dos seguintes tipos:string(predefinição),number,booleanoumapEntão, essa é a causa do erro.
No exemplo da política Generate JWT apresentado acima, o tipo
<Claim>no elemento<AdditionalClaims>é especificado comointeger. Uma vez queintegernão é um tipo suportado, recebe o erro:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Resolução
Certifique-se de que apenas são usados tipos de dados suportados, como string, number, boolean ou map, no elemento filho <Claim> do elemento <AdditionalClaims>.
Para corrigir o exemplo da política Generate JWT apresentado acima, altere o tipo de reivindicação para 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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 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-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o nome da reivindicação não for especificado no elemento subordinado <Claim> do elemento <AdditionalClaims> ou <AdditionalHeaders>.
Diagnóstico
Identifique o nome da política Generate JWT a partir da mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in ClaimExamine o XML da política Generate JWT com falhas e verifique se o nome da reivindicação está em falta no elemento secundário
<Claims>no elemento<AdditionalClaims>ou<AdditionalHeaders>. Por exemplo, a seguinte política Generate JWT não especifica o nome da reivindicação no elemento<AdditionalClaims>:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </GenerateJWT>Uma vez que o nome
<Claim>não está especificado no elemento<AdditionalClaims>, recebe o erro:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Resolução
Certifique-se de que o nome da reivindicação é sempre especificado no elemento subordinado <Claim> do elemento <AdditionalClaims> ou <AdditionalHeaders>.
Para corrigir a política Generate JWT do exemplo apresentado acima, especifique o nome da reivindicação conforme mostrado abaixo:
<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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 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-Generate-HS256) header(alg).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o nome da reivindicação usado no elemento filho <Claim> do elemento <AdditionalHeaders> for um dos seguintes cabeçalhos JWT padrão:
alg ou typ
Por exemplo, usar o nome da reivindicação alg no elemento <AdditionalHeaders> vai causar o erro.
Diagnóstico
Identifique o nome da política Generate JWT e o nome do cabeçalho na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256e o nome do cabeçalho éalg:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).Verifique se o nome do cabeçalho usado no elemento secundário
<Claim>no elemento<AdditionalHeaders>do XML da política de geração de JWT com falha corresponde ao nome do cabeçalho identificado na mensagem de erro no passo 1. Por exemplo, a seguinte política especifica o cabeçalho comoalg, que corresponde ao que está na mensagem de erro:<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>Se o nome do cabeçalho usado no elemento filho
<Claim>do elemento<AdditionalClaims>for um dos seguintes cabeçalhos JWT padrão:algoutypEntão, essa é a causa do erro.
No exemplo da política Generate JWT apresentado acima, o nome
<Claim>é especificado comoalgno elemento<AdditionalClaims>, o que resulta no erro:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Resolução
Não use os cabeçalhos JWT padrão alg ou typ no elemento subordinado <Claim> do elemento <AdditionalHeaders>.
Para corrigir a política Generate JWT de exemplo apresentada acima, use o nome x5c no elemento filho <Claim> do elemento <AdditionalHeaders>:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTypeForAdditionalHeader
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 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-Generate-HS256) claim(claim1) type(integer).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
O erro ocorre se o tipo de reivindicação usado no elemento filho <Claim> do elemento <AdditionalHeaders> da política GenerateJWT não for um dos seguintes tipos:
string (predefinição), number, boolean ou map.
Por exemplo, a utilização do tipo de reivindicação integer no elemento <AdditionalHeaders> vai causar o erro.
Diagnóstico
Identifique o nome da política Generate JWT, o nome da reivindicação e o tipo de reivindicação na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256, o nome da reivindicação éclaim,e o tipo de reivindicação éinteger:Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).Verifique se o nome da reivindicação e o tipo de reivindicação usados no elemento
<AdditionalClaims>no XML da política de geração de JWT com falha correspondem ao nome da reivindicação e ao tipo de reivindicação identificados na mensagem de erro no passo 1. Por exemplo, a seguinte política especifica a reivindicação comoclaime o tipo de reivindicação comointeger, o que corresponde ao que está na mensagem de erro:<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>Se o tipo de reivindicação usado no elemento secundário
<Claim>do elemento<AdditionalHeaders>não for um dos seguintes tipos:string(predefinição),number,booleanoumapEntão, essa é a causa do erro.
No exemplo da política Generate JWT apresentado acima, o tipo
<Claim>no elemento<AdditionalHeaders>é especificado comointeger. Uma vez queintegernão é um tipo suportado, recebe o erro:Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
Resolução
Certifique-se de que apenas os tipos de dados suportados string, number, boolean ou map são usados no elemento filho <Claim> do elemento <AdditionalHeaders>.
Para corrigir a política de geração de JWT do exemplo apresentado acima, altere o tipo de reivindicação para 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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 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-Generate-HS256) claim(claim).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o valor do atributo de matriz no elemento secundário <Claim> do elemento <AdditionalClaims> ou <AdditionalHeaders> não estiver definido como true ou false.
Por exemplo, definir o valor do atributo de matriz como yes no elemento filho <Claim> de <AdditionalClaims> ou <AdditionalHeaders> provoca o erro.
Diagnóstico
Identifique o nome da política Generate JWT e o nome da reivindicação na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256e o nome da reivindicação éclaim:Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).Verifique se o nome da reivindicação usado no elemento filho
<Claim>no elemento<AdditionalHeaders>do XML da política de geração de JWT com falha corresponde ao nome da reivindicação identificado na mensagem de erro no passo 1. Por exemplo, a seguinte política especifica o nome da reivindicação comoclaim, que corresponde ao que está na mensagem de erro:<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>Se o valor do atributo
arrayno elemento secundário<Claim>do elemento<AdditionalClaims>não estiver definido comotrueoufalse, essa é a causa do erro.Uma vez que o atributo
arrayno elemento secundário<Claim>do elemento<AdditionalClaims>está definido comoyesno exemplo acima, recebe o erro:Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Resolução
Certifique-se de que o valor do atributo de matriz no elemento filho <Claim> de <AdditionalClaims> ou <AdditionalHeaders> está definido como true ou false.
Para corrigir o exemplo da política Generate JWT apresentado acima, altere o valor do atributo de matriz para 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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
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>).
Exemplo de mensagem de erro
Error Saving Revision 2 Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o elemento <PrivateKey> for usado com algoritmos da família HS e o elemento <SecretKey> for usado com algoritmos da família RSA. O erro também ocorre se qualquer uma destas condições for verdadeira.
Por exemplo, usar o elemento <PrivateKey> com algoritmos da família HS gera este erro.
Diagnóstico
Identifique o nome da política Generate JWT, o nome do elemento e o nome da família de algoritmos na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256, o nome do elemento éPrivateKeye a família de algoritmos éHMAC:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).Verifique se o elemento e a família de algoritmos usados no XML da política Generate JWT com falha correspondem ao elemento e à família de algoritmos identificados na mensagem de erro no passo 1. Por exemplo, a política seguinte especifica o elemento como
PrivateKeye a família de algoritmos comoHMAC, o que corresponde ao que está na mensagem de erro:<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>Se o valor do elemento
<Algorithm>forHS256, mas tiver usado<PrivateKey>, essa é a causa do erro.No exemplo da política Generate JWT apresentado acima, o
<PrivateKey>é usado, mesmo que o<PrivateKey>esteja definido para um algoritmo familiar,HS256, o que resulta no erro:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Resolução
Certifique-se de que o elemento <PrivateKey> é usado apenas com algoritmos de famílias de RSA e que o elemento <SecretKey> é usado apenas com algoritmos de famílias de HS.
Para corrigir a política Generate JWT de exemplo apresentada acima, use o <SecretKey> da política GenerateJWT que usa o algoritmo HS256:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueForElement
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 Invalid Value for element : policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o valor especificado no elemento <Algorithm> não for um dos seguintes valores:
HS256, HS384, HS512, RS256, RS384, RS512
Por exemplo, especificar o valor do algoritmo como RS128 no elemento <Algorithm> gera este erro.
Diagnóstico
Identifique o nome da política Generate JWT e o nome do elemento na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256e o nome do elemento éAlgorithm.Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).Examine o XML da política Generate JWT com falha e verifique o valor especificado para o elemento
<Algorithm>.Segue-se um exemplo de uma política de geração de 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>Examine o valor especificado no elemento
<Algorithm>. Se não for um dos seguintes valores:HS256,HS384,HS512,RS256,RS384,RS512Então, essa é a causa do erro.
No exemplo da política Generate JWT apresentado acima, o nome
<Algorithm>é especificado comoHS128. Uma vez que este não é um algoritmo suportado, recebe o erro:Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Resolução
Certifique-se de que o valor especificado no elemento <Algorithm> é um dos valores suportados:
HS256, HS384, HS512, RS256, RS384, RS512
Para corrigir o exemplo da política Generate JWT apresentado acima, que usa o elemento <SecretKey>, altere o valor de <Algorithm> para HS25. Tenha em atenção que, quando o elemento <SecretKey> é usado, só pode usar algoritmos da família 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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 Missing configuration element : policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre quando o elemento <PrivateKey> não é usado com algoritmos da família RSA na política Generate JWT. Da mesma forma, o erro pode ocorrer se o elemento <SecretKey> não for usado com algoritmos HS Family na política Generate JWT.
Por exemplo, não usar o elemento <PrivateKey> com algoritmos RSA Family gera este erro.
Diagnóstico
Identifique o nome da política Generate JWT e o nome do elemento em falta na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256e o nome do elemento em falta éSecretKey.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).Examine o XML da política Generate JWT com falha e verifique se o elemento indicado na mensagem de erro está em falta. Se estiver em falta, é essa a causa do erro.
Por exemplo, na política seguinte, o elemento
SecretKeyestá em falta e o elementoAlgorithmusado éHS256:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>A política Generate JWT de exemplo usa algoritmos HS Family, mas o elemento obrigatório
SecretKeyestá em falta, o que resulta no seguinte erro:Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Resolução
Certifique-se de que o elemento <PrivateKey> obrigatório é usado com algoritmos RSA Family e que o elemento <SecretKey> obrigatório é usado com algoritmos HS Family.
Para corrigir a política de geração de JWT de exemplo apresentada acima, que usa o algoritmo HS256, adicione o elemento <SecretKey> à política de geração de 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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Exemplo de mensagem de erro
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o elemento subordinado obrigatório <Value> não estiver definido nos elementos <PrivateKey> ou <SecretKey> na política Generate JWT.
Diagnóstico
Identifique o nome da política Generate JWT a partir da mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256.Invalid Key configuration : policy(JWT-Generate-HS256).Examine o XML da política Generate JWT com falha e verifique se o elemento secundário
<Value>não está definido nos elementos<PrivateKey>ou<SecretKey>. Se<Value>não estiver definido, essa é a causa do erro.Por exemplo, na seguinte política, o elemento subordinado
<Value>não está definido no elemento<SecretKey>:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>Uma vez que o elemento secundário
<Value>não está definido no elemento<SecretKey>da política Generate JWT, recebe o seguinte erro:Invalid Key configuration : policy(JWT-Generate-HS256).
Resolução
Certifique-se de que o elemento subordinado <Value> está sempre definido nos elementos <PrivateKey> ou <SecretKey> da política Generate JWT.
Para corrigir a política Generate JWT de exemplo apresentada acima, defina o elemento secundário <Value> no elemento <SecretKey>, conforme mostrado abaixo:
<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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 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-Generate-HS256) element(SecretKey/Value).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o atributo ref no elemento secundário <Value> dos elementos <PrivateKey> ou <SecretKey> não for especificado ou estiver vazio.
Por exemplo, se o elemento secundário <Value> do elemento <SecretKey> estiver vazio, ocorre o erro.
Diagnóstico
Identifique o nome da política Generate JWT e o nome do elemento vazio na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256e o nome do elemento vazio éSecretKey/Value.Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).Examine o XML da política Generate JWT com falhas e verifique se o elemento identificado no Passo 1 está vazio. Se estiver vazio, é essa a causa do erro.
Por exemplo, a seguinte política mostra que o elemento subordinado
<Value>do elemento<SecretKey>está vazio:<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>Uma vez que o elemento secundário
<Value>do elemento<SecretKey>na política Generate JWT está vazio, recebe o seguinte erro:Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Resolução
Certifique-se de que o atributo ref no elemento subordinado <Value> dos elementos <PrivateKey> ou <SecretKey> é sempre especificado e tem o prefixo "private.".
Para corrigir o exemplo da política Generate JWT apresentado acima, use a variável de fluxo private.privatekey no elemento secundário <Value> do elemento <SecretKey>.
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidVariableNameForSecret
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 Invalid variable name for secret : policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o nome da variável de fluxo especificado no atributo ref no elemento subordinado <Value> dos elementos <PrivateKey> ou <SecretKey> não incluir o prefixo privado (private.).
Por exemplo :
Se o nome da variável de fluxo for especificado como mykey no atributo ref do elemento subordinado <Value> do elemento <PrivateKey>, ocorre este erro.
Diagnóstico
Identifique o nome da política Generate JWT e o nome do elemento com um nome de variável inválido na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256e o nome do elemento éSecretKey/Value.Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).Examine o XML da política Generate JWT com falhas e verifique o nome da variável usado no elemento, identificado no passo 1. Se o nome da variável não tiver o prefixo
private., essa é a causa do erro.Por exemplo, a política seguinte mostra que o elemento subordinado
<Value>do elemento<SecretKey>tem o nome da variável inválidomykey:<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>Uma vez que o nome da variável especificado no elemento subordinado
<Value>do elemento<SecretKey>da política Generate JWT não tem o prefixoprivate., recebe o seguinte erro:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Resolução
Certifique-se de que o atributo ref no elemento subordinado <Value> dos elementos <PrivateKey> ou <SecretKey> é sempre especificado e tem o prefixo private..
Para corrigir a política Generate JWT de exemplo apresentada acima, use a variável de fluxo private.privatekey no elemento secundário <Value> do elemento <SecretKey>:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidSecretInConfig
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o valor (segredo) for especificado explicitamente no seguinte:
- Os elementos secundários
<Value>ou<Password>do elemento<PrivateKey>ou - O elemento secundário
<Value>do elemento<SecretKey>
na política Generate JWT.
Por exemplo, se o segredo for especificado explicitamente como abc no elemento secundário <Value> do elemento <SecretKey>, ocorre este erro.
Diagnóstico
Identifique o nome da política Generate JWT e o nome do elemento no qual o segredo é especificado explicitamente na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256e o nome do elemento éSecretKey/Value.Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).Examine o XML da política de geração de JWT com falha e verifique se o segredo está explicitamente especificado no elemento identificado no passo 1. Se for especificado explicitamente, essa é a causa do erro.
Por exemplo, a seguinte política mostra que o segredo foi especificado explicitamente no elemento subordinado
<Value>do elemento<SecretKey>:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value>abc</Value> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>Uma vez que o segredo é especificado explicitamente no elemento subordinado
<Value>do elemento<SecretKey>da política Generate JWT, recebe o seguinte erro:Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Resolução
Certifique-se de que o valor é sempre especificado como uma variável de fluxo no elemento secundário <Value> dos elementos <PrivateKey> ou <SecretKey>.
Para corrigir a política Generate JWT de exemplo apresentada acima, use a variável de fluxo private.secretkey no atributo ref do elemento filho <Value> 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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision 2 Invalid Time format: policy(policy_name) element(element_name).
Exemplo de mensagem de erro
Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
Captura de ecrã de exemplo
Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Causa
Este erro ocorre se o valor especificado no elemento <NotBefore> não estiver entre um dos formatos suportados:
sortable, RFC 1123, RFC 850, ANCI-C
Por exemplo, se o valor especificado em <NotBefore> for 20-JUN-1990 08:03, que não é um formato suportado, ocorre este erro.
<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
Diagnóstico
Identifique o nome da política Generate JWT e o nome do elemento que tem um formato de hora inválido na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Generate JWT é
JWT-Generate-HS256e o nome do elemento éNotBefore.Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).Examine o XML da política Generate JWT com falhas e valide o formato de hora usado no elemento identificado no passo 1. Se o elemento não usar nenhum dos formatos suportados:
sortable,RFC 1123,RFC 850,ANCI-CEntão, essa é a causa do erro.
Por exemplo, a política seguinte mostra que o elemento filho
<NotBefore>usa um formato de hora não suportado:<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>Uma vez que o elemento
<NotBefore>da política Generate JWT não usa nenhum dos formatos de hora suportados, recebe o erro:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Resolução
Certifique-se de que o valor especificado no elemento <NotBefore> usa um dos formatos suportados:
sortable, RFC 1123, RFC 850, ANCI-C
Para corrigir a política de geração de JWT de exemplo, modifique a data no elemento <NotBefore> para usar o formato sortable, conforme mostrado abaixo:
<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>