Resolução de problemas de erros de implementação da política VerifyJWT

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 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Nome inválido para a mensagem de erro de reivindicação adicional.

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> resulta neste erro.

Diagnóstico

  1. Identifique o nome da política Verify JWT e o nome da reivindicação na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é JWT-Verify-RS256 e o nome da reivindicação é iss:

    Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
    
  2. Verifique se o nome da reivindicação usado no elemento <AdditionalClaims> no XML da política de JWT de validação com falha corresponde ao nome da reivindicação identificado na mensagem de erro no passo 1. Por exemplo, a seguinte política especifica a reivindicação como iss, 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>
    
  3. 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 Verify JWT apresentado acima, o nome <Claim> é especificado como iss no elemento <AdditionalClaims>, o que resulta no erro:

    Invalid name for additional claim : policy(JWT-Verify-RS256) 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 o problema com a política de validação de JWT de exemplo, 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 implementação do proxy de API através da IU ou da API Apigee 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Tipo inválido para a mensagem de erro de reivindicação adicional.

Causa

O tipo da reivindicação usado no elemento secundário <Claim> do elemento <AdditionalClaims> da política VerifyJWT não é 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

  1. Identifique o nome da política Verify JWT, o nome da reivindicação e o tipo na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é JWT-Verify-RS256, o nome da reivindicação é claim e o tipo é integer:

    Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
    
  2. Verifique se o nome da reivindicação e o tipo usados no elemento <AdditionalClaims> no XML da política de JWT de validação 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 como claim e o tipo como integer, o 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>
    
  3. 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, boolean ou map

    Então, essa é a causa do erro.

    No exemplo da política Verify JWT apresentado acima, o tipo <Claim> é especificado como integer no elemento <AdditionalClaims>. Uma vez que integer não é um tipo suportado, recebe o erro:

    Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
    

Resolução

Certifique-se de que apenas os tipos de dados suportados string (predefinição), number, boolean ou map são usados no elemento filho <Claim> do elemento <AdditionalClaims>.

Para corrigir a política de JWT de validação de exemplo, 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 implementação do proxy de API através da IU ou da API Apigee 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

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

O nome do atributo está em falta na mensagem de erro de reivindicação.

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

  1. 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 Claim
    
  2. Examine o XML da política Verify JWT com falha 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 Verify JWT não especifica o nome da reivindicaçã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>
    

    Uma vez que o nome <Claim> não está especificado no elemento <AdditionalClaims>, 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 reivindicação é sempre especificado no elemento subordinado <Claim> do elemento <AdditionalClaims> ou <AdditionalHeaders>.

Para corrigir a política de JWT de validação de exemplo, especifique o nome da reivindicação, conforme 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 implementação do proxy de API através da IU ou da API Apigee 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Nome inválido para a mensagem de erro do cabeçalho adicional.

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

  1. Identifique o nome da política Verify JWT e o nome do cabeçalho na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é JWT-Verify-RS256 e o nome do cabeçalho é alg:

    Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
    
  2. Verifique se o nome do cabeçalho usado no elemento secundário <Claim> no elemento <AdditionalHeaders> no XML da política de JWT de validação 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 como alg, 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>
    
  3. Se o nome do cabeçalho usado no elemento filho <Claim>do elemento <AdditionalClaims> for um dos seguintes cabeçalhos JWT padrão:

    alg ou typ

    Então, essa é a causa do erro.

    No exemplo da política Verify JWT apresentado acima, o nome <Claim> é especificado como alg no elemento <AdditionalClaims>, o que resulta 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 subordinado <Claim> do elemento <AdditionalHeaders>.

Para corrigir o exemplo da 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 implementação do proxy de API através da IU ou da API Apigee 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Tipo inválido para a mensagem de erro do cabeçalho adicional.

Causa

O erro ocorre se o tipo de reivindicação usado no elemento filho <Claim> do elemento <AdditionalHeaders> da política Verify JWT 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

  1. Identifique o nome da política Verify JWT, o nome da reivindicação e o tipo na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é JWT-Verify-RS256, o nome da reivindicação é claim e o tipo é integer:

    Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
    
  2. Verifique se o nome da reivindicação e o tipo usados no elemento <AdditionalClaims> no XML da política de JWT de validação 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 como claim e o tipo de reivindicação como integer,, o 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>
    
  3. 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, boolean ou map

    Então, essa é a causa do erro.

    No exemplo da política Verify JWT apresentado acima, o tipo <Claim> no elemento <AdditionalHeaders> é especificado como integer. Uma vez que integer não é um tipo suportado, recebe o erro:

    Invalid type for additional header : policy(JWT-Verify-RS256) 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 JWT de validação de exemplo, 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 implementação do proxy de API através da IU ou da API Apigee 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Mensagem de erro de valor inválido para o atributo de matriz.

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 secundário <Claim> do elemento <AdditionalClaims> ou <AdditionalHeaders> causa o erro.

Diagnóstico

  1. Identifique o nome da política Verify JWT e o nome da reivindicação na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é JWT-Verify-RS256 e o nome da reivindicação é claim:

    Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
    
  2. Verifique se o nome da reivindicação usado no elemento secundário <Claim> no elemento <AdditionalHeaders> no XML da política de JWT de validação 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 como claim, 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>
    
  3. Se o valor do atributo array no elemento secundário <Claim> do elemento <AdditionalClaims> não estiver definido como true ou false, essa é a causa do erro.

    Uma vez que o atributo array no elemento secundário <Claim> do elemento <AdditionalClaims> está definido como yes no exemplo acima, recebe o erro:

    Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
    

Resolução

Certifique-se de que o valor do atributo de matriz no elemento filho <Claim> dos elementos <AdditionalClaims> ou <AdditionalHeaders> está definido como true ou false.

Para corrigir a política Verify JWT de exemplo apresentada acima, altere o valor do atributo de 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 implementação do proxy de API através da IU ou da API Apigee 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Valor inválido para a mensagem de erro do elemento.

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

  1. Identifique o nome da política JWT de validação e o nome do elemento na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é JWT-Verify-RS256 e o nome do elemento é Algorithm:

    Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
    
  2. Examine o XML da política Verify JWT com falha e verifique o valor especificado para o elemento <Algorithm>.

    Segue-se um exemplo de uma política de validação de 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>
    
  3. Examine o valor especificado no elemento <Algorithm>. Se não for um dos seguintes valores:

    HS256, HS384, HS512, RS256, RS384, RS512

    Então, essa é a causa do erro.

    No exemplo da política Verify JWT apresentado acima, o nome <Algorithm> é especificado como HS128. Como este não é um algoritmo suportado, recebe o erro:

    Invalid Value for element : policy(JWT-Verify-RS256) 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 Verify 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.

<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 implementação do proxy de API através da IU ou da API Apigee 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Mensagem de erro de elemento de configuração em falta.

Causa

Este erro ocorre quando o elemento <PublicKey> não é usado com algoritmos da família RSA na política Verify JWT. Da mesma forma, o erro pode ocorrer se o elemento <SecretKey> não for usado com algoritmos da família HS na política Verify JWT.

Por exemplo, não usar o elemento <PublicKey> com algoritmos RSA Family gera este erro.

Diagnóstico

  1. Identifique o nome da política Verify JWT e o nome do elemento em falta na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é JWT-Verify-RS256 e o nome do elemento em falta é PublicKey:

    Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
    
  2. Examine o XML da política de validação de 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, a política seguinte mostra que o elemento PublicKey está em falta e que o elemento Algorithm usado é 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>
    

    A política Verify JWT de exemplo usa algoritmos da família HS, mas o elemento obrigatório PublicKey está em falta, o que resulta no seguinte erro:

    Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
    

Resolução

Certifique-se de que o elemento <PublicKey> obrigatório é usado com algoritmos RSA Family e que o elemento <SecretKey> obrigatório é usado com algoritmos HS Family.

Para corrigir o exemplo da política Verify JWT apresentado acima, que usa o algoritmo RS256, adicione o elemento <PublicKey> à política 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

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 
Invalid Key configuration : policy(policy_name).

Exemplo de mensagem de erro

Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Mensagem de erro de configuração de chave inválida.

Causa

Este erro ocorre se o elemento subordinado <Value> ou o elemento subordinado obrigatório <JWKS> não estiver definido nos elementos <PublicKey> ou <SecretKey> da política Verify JWT.

Diagnóstico

  1. 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).
    
    
  2. Examine o XML da política Verify JWT com falhas e verifique se o elemento secundário <Value> ou o elemento secundário <JWKS> não está definido nos elementos <PublicKey> ou <SecretKey>. Se o elemento secundário não estiver definido, essa é a causa do erro.

    Por exemplo, a seguinte política mostra que o elemento subordinado <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>
    

    Uma vez que o elemento subordinado <Value> ou <JWKS> não está definido no elemento <PublicKey> da política Verify JWT, recebe o erro:

    Invalid Key configuration : policy(JWT-Verify-RS256).
    

Resolução

Certifique-se de que o elemento subordinado <Value> ou <JWKS> está sempre definido no elemento <PublicKey> da política Verify JWT.

Para corrigir a política de JWT de validação de exemplo, 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 implementação do proxy de API através da IU ou da API Apigee 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Elemento vazio para a mensagem de erro de configuração da chave.

Causa

Este erro ocorre se o atributo ref no elemento secundário <Value> ou <JWKS> do elemento <PublicKey> não for especificado ou estiver vazio.

Por exemplo, se o elemento secundário <Value> do elemento <PublicKey> estiver vazio, ocorre o erro.

Diagnóstico

  1. 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-RS256 e o nome do elemento é PublicKey/Value:

    Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
    
  2. Examine o XML da política de validação de JWT com falha 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 <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>
    

    Uma vez que o elemento secundário <Value> do elemento <PublicKey> da política Verify JWT está vazio, recebe o erro:

    Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
    
    

Resolução

Certifique-se de que o atributo ref no elemento subordinado <Value> ou <JWKS> do elemento <PublicKey> é sempre especificado.

Para corrigir o exemplo da 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 implementação do proxy de API através da IU ou da API Apigee 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Elemento de configuração inválido para a mensagem de erro de validação.

Causa

Este erro ocorre se o elemento <Id> estiver definido no elemento <SecretKey> de uma política VerifyJWT.

Por exemplo, se o elemento <Id> estiver definido no elemento <SecretKey>, ocorre este erro.

Diagnóstico

  1. Identifique o nome da política Verify JWT e o nome do elemento inválido na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é JWT-Verify-RS256 e o nome do elemento é SecretKey/Id:

    Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
    
  2. Examine o XML da política Verify JWT com falhas e verifique se o elemento inválido identificado no passo 1 está definido. Se estiver definido, essa é a causa do erro.

    Por exemplo, a seguinte política mostra que o elemento subordinado <Id> do elemento <SecretKey> está 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>
    

    Uma vez que o elemento <Id> está definido no elemento <SecretKey> da política Verify JWT, recebe o seguinte erro:

    Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
    

Resolução

Certifique-se de que o elemento <Id> nunca é definido no elemento <SecretKey> de uma política de JWT de validação.

Para corrigir a política Verify JWT de exemplo, remova o elemento secundário <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 implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:

Error Saving Revision 
Invalid 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Mensagem de erro de elemento vazio inválido.

Causa

Este erro ocorre se o elemento <Source> da política Verify JWT estiver vazio. Se estiver presente, tem de ser definido com um nome de variável de fluxo.

Diagnóstico

  1. Identifique o nome da política Verify JWT e o nome do elemento vazio na mensagem de erro. Por exemplo, na seguinte mensagem de erro, o nome da política Verify JWT é JWT-Verify-RS256 e o nome do elemento é PublicKey/Value:

    Invalid empty element : policy(JWT-Verify-HS256) element(Source).
    
  2. Examine o XML da política de validação de JWT com falha 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 <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>
    

    Uma vez que o elemento <Source> da política Verify JWT está vazio, recebe o erro:

    Invalid empty element : policy(JWT-Verify-HS256) element(Source).
    

Resolução

Se o elemento <Source> de uma política de JWT de verificação estiver presente, certifique-se de que especifica uma variável de fluxo.

Para corrigir a política de JWT de verificação de exemplo, 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 implementação do proxy de API através da IU ou da API Apigee 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Valor da chave pública inválido na mensagem de erro de configuração.

Causa

Este erro ocorre se o valor usado no elemento filho <JWKS> do elemento <PublicKey> não estiver num formato válido, conforme especificado na RFC 7517.

Por exemplo, usar abc como o valor do elemento filho <JWKS> no elemento <PublicKey> vai gerar este erro.

Diagnóstico

  1. 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-RS256 e o elemento é PublicKey/JWKS:

    Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
    
  2. Examine o XML da política de verificação de JWT com falha e verifique se o elemento identificado no passo 1 contém um valor num formato válido de acordo com a RFC 7517. Se o valor do elemento não estiver num 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>
    

    Uma vez que o valor no elemento secundário <JWKS> do elemento <PublicKey> não está num formato válido de acordo com a RFC 7517, recebe o seguinte erro:

    Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
    

Resolução

Certifique-se de que o valor especificado no elemento filho <JWKS> do elemento <PublicKey> é uma string ou uma variável de fluxo válida num formato JWKS válido (RFC 7517).

Para corrigir a política Verify JWT de exemplo, 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 implementação do proxy de API através da IU ou da API Apigee 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).

Captura de ecrã de exemplo

Na IU do Apigee, é apresentada uma caixa de diálogo com um erro:

Elemento de configuração inválido para esta ação e mensagem de erro do algoritmo.

Causa

Este erro ocorre se o elemento <PublicKey> 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 <PublicKey> com algoritmos da família HS gera este erro.

Diagnóstico

  1. Identifique o nome da política Verify 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 Verify JWT é JWT-Verify-HS256, o nome do elemento é PublicKey e 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).
    
  2. Verifique se o elemento e a família de algoritmos usados no XML da política Verify 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 PublicKey e a família de algoritmos como HMAC, o 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>
    
  3. Se o valor do elemento <Algorithm> for HS256, mas tiver usado <PublicKey>, essa é a causa do erro.

    No exemplo da política Verify JWT apresentado acima, o elemento <PublicKey> é usado, mesmo que o <Algorithm> esteja definido para um algoritmo familiar HS256, o que resulta no erro:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
    

Resolução

Certifique-se de que o elemento <PublicKey> é 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 Verify JWT de exemplo, use o <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>