Solucionar problemas de errores de implementación de la política GenerateJWT

Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.

InvalidNameForAdditionalClaim

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Invalid name for additional claim : policy(policy_name) claim(claim_name).

Ejemplo de mensaje de error

Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce si el nombre de la reclamación utilizada en el elemento secundario <Claim> del elemento <AdditionalClaims> es uno de los siguientes nombres registrados:

"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"

Las reclamaciones registradas se especifican en RFC 7519.

Por ejemplo, si se usa el nombre de la reclamación iss en el elemento <AdditionalClaims>, se producirá este error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT y el nombre de la reclamación en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política de generación de JWT es JWT-Generate-HS256 y el nombre de la reclamación es iss:

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    
  2. Verifica que el nombre de la reclamación que se usa en el elemento <AdditionalClaims> del XML de la política Generate JWT fallida coincida con el nombre de la reclamación identificado en el mensaje de error (paso 1 anterior). Por ejemplo, la siguiente política especifica la reclamación como iss, que coincide con lo que aparece en el mensaje de error:

    <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>
    
  3. Si el nombre de la reclamación utilizado en el elemento secundario <Claim> del elemento <AdditionalClaims> es uno de los siguientes nombres registrados:

    "kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"

    entonces, esa es la causa del error.

    En el ejemplo de política Generar JWT que se muestra arriba, el nombre <Claim> se especifica como iss en el elemento <AdditionalClaims>, lo que provoca el siguiente error:

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    

Resolución

No utilices ninguno de los nombres registrados "kid", "iss", "sub", "aud", "iat", "exp", "nbf" o "jti" en el elemento secundario <Claim> del elemento <AdditionalClaims>.

Para corregir la política de generación de JWT de ejemplo que se muestra arriba, cambia el nombre de la reclamación a 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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).

Ejemplo de mensaje de error

Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce si el tipo de reclamación utilizado en el elemento secundario <Claim> del elemento <AdditionalClaims> de la política GenerateJWT no es uno de los siguientes tipos:

string (predeterminada), number, boolean o map

Por ejemplo, si se usa el tipo de reclamación integer en el elemento <AdditionalClaims>, se producirá un error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT, el nombre de la reclamación y el tipo de reclamación en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256, el nombre de la reclamación es claim y el tipo de reclamación es integer:

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. Verifica que el nombre y el tipo de la reclamación que se usan en el elemento <AdditionalClaims> del XML de la política Generate JWT fallida coincidan con el nombre y el tipo de la reclamación que se han identificado en el mensaje de error del paso 1. Por ejemplo, la siguiente política especifica la reclamación como claim y el tipo como integer, que coincide con lo que aparece en el mensaje de error:

    <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>
    
  3. Si el tipo de reclamación utilizado en el elemento secundario <Claim> del elemento <AdditionalClaims> no es uno de los siguientes tipos:

    string (predeterminada), number, boolean o map

    entonces, esa es la causa del error.

    En el ejemplo de política Generate JWT que se muestra arriba, el tipo <Claim> del elemento <AdditionalClaims> se especifica como integer. Como integer no es un tipo admitido, aparece el siguiente error:

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

Resolución

Asegúrate de que solo se usen tipos de datos admitidos, como string, number, boolean o map, en el elemento secundario <Claim> del elemento <AdditionalClaims>.

Para corregir el ejemplo de política Generar JWT que se muestra arriba, cambia el tipo de reclamación a 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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.

Ejemplo de mensaje de error

Error Saving Revision 2
Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce si el nombre de la reclamación no se especifica en el elemento secundario <Claim> del elemento <AdditionalClaims> o <AdditionalHeaders>.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256:

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. Examina el XML de la política Generate JWT que ha fallado y comprueba si falta el nombre de la reclamación en el elemento secundario <Claims> del elemento <AdditionalClaims> o <AdditionalHeaders>. Por ejemplo, la siguiente política Generate JWT no especifica el nombre de la reclamación en el 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>
    

    Como el nombre <Claim> no se ha especificado en el elemento <AdditionalClaims>, se muestra el siguiente error:

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    

Resolución

Asegúrate de que el nombre de la reclamación siempre se especifique en el elemento secundario <Claim> del elemento <AdditionalClaims> o <AdditionalHeaders>.

Para corregir la política Generar JWT de ejemplo que se muestra arriba, especifica el nombre de la reclamación como se indica a continuación:

<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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Invalid name for additional header : policy(policy_name)header(header_name).

Ejemplo de mensaje de error

Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce si el nombre de la reclamación utilizada en el elemento secundario <Claim> del elemento <AdditionalHeaders> es uno de los siguientes encabezados JWT estándar:

alg o typ

Por ejemplo, si se usa el nombre de reclamación alg en el elemento <AdditionalHeaders>, se producirá un error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT y el nombre del encabezado en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256 y el nombre de la cabecera es alg:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. Verifica que el nombre del encabezado usado en el elemento secundario <Claim> del elemento <AdditionalHeaders> del XML de la política Generate JWT fallida coincida con el nombre del encabezado identificado en el mensaje de error del paso 1. Por ejemplo, la siguiente política especifica la cabecera como alg, que coincide con lo que aparece en el mensaje de error:

    <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>
    
  3. Si el nombre del encabezado utilizado en el elemento secundario <Claim> del elemento <AdditionalClaims> es uno de los siguientes encabezados JWT estándar:

    alg o typ

    entonces, esa es la causa del error.

    En el ejemplo de política Generar JWT que se muestra arriba, el nombre <Claim> se especifica como alg en el elemento <AdditionalClaims>, lo que provoca el siguiente error:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    

Resolución

No utilices los encabezados JWT estándar alg o typ en el elemento secundario <Claim> del elemento <AdditionalHeaders>.

Para corregir la política Generate JWT de ejemplo que se muestra arriba, usa el nombre x5c en el elemento secundario <Claim> del 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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).

Ejemplo de mensaje de error

Error Saving Revision 2
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim1) type(integer).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

El error se producirá si el tipo de reclamación utilizado en el elemento secundario <Claim> del elemento <AdditionalHeaders> de la política GenerateJWT no es uno de los siguientes tipos:

string (predeterminada), number, boolean o map.

Por ejemplo, si se usa el tipo de reclamación integer en el elemento <AdditionalHeaders>, se producirá un error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT, el nombre de la reclamación y el tipo de reclamación en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256, el nombre de la reclamación es claim, y el tipo de reclamación es integer:.

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. Verifica que el nombre y el tipo de la reclamación que se usan en el elemento <AdditionalClaims> del archivo XML de la política Generate JWT fallida coincidan con el nombre y el tipo de la reclamación que se han identificado en el mensaje de error del paso 1. Por ejemplo, la siguiente política especifica la reclamación como claim y el tipo de reclamación como integer, lo que coincide con lo que aparece en el mensaje de error:

    <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>
    
  3. Si el tipo de reclamación utilizado en el elemento secundario <Claim> del elemento <AdditionalHeaders> no es uno de los siguientes tipos:

    string (predeterminada), number, boolean o map

    entonces, esa es la causa del error.

    En el ejemplo de política Generate JWT que se muestra arriba, el tipo <Claim> del elemento <AdditionalHeaders> se especifica como integer. Como integer no es un tipo admitido, aparece el siguiente error:

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

Resolución

Asegúrate de que solo se usen los tipos de datos admitidos string, number, boolean o map en el elemento secundario <Claim> del elemento <AdditionalHeaders>.

Para corregir la política Generar JWT de ejemplo que se muestra arriba, cambia el tipo de reclamación a 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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Invalid value for array attribute: policy(policy_name)claim(claim_name).

Ejemplo de mensaje de error

Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce si el valor del atributo de matriz del elemento secundario <Claim> del elemento <AdditionalClaims> o <AdditionalHeaders> no es true o false.

Por ejemplo, si asigna el valor yes al atributo de matriz en el elemento secundario <Claim> de <AdditionalClaims> o <AdditionalHeaders>, se producirá un error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT y el nombre de la reclamación en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256 y el nombre de la reclamación es claim:.

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    
  2. Verifica que el nombre de la reclamación usado en el elemento secundario <Claim> del elemento <AdditionalHeaders> del XML de la política Generate JWT fallida coincida con el nombre de la reclamación identificado en el mensaje de error del paso 1. Por ejemplo, la siguiente política especifica el nombre de la reclamación como claim, que coincide con lo que aparece en el mensaje de error:

    <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>
    
  3. Si el valor del atributo array del elemento secundario <Claim> del elemento <AdditionalClaims> no es true ni false, esa es la causa del error.

    Como el atributo array del elemento secundario <Claim> del elemento <AdditionalClaims> se ha definido como yes en el ejemplo anterior, se muestra el siguiente error:

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    

Resolución

Compruebe que el valor del atributo de array del elemento secundario <Claim> de <AdditionalClaims> o <AdditionalHeaders> se ha definido como true o false.

Para corregir la política Generar JWT de ejemplo que se muestra arriba, cambia el valor del atributo de matriz a 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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

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

Ejemplo de mensaje de error

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 pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce si el elemento <PrivateKey> se usa con algoritmos de la familia HS y el elemento <SecretKey> se usa con algoritmos de la familia RSA. El error también se producirá si se cumple alguna de estas condiciones.

Por ejemplo, si se usa el elemento <PrivateKey> con algoritmos de la familia HS, se produce este error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT, el nombre del elemento y el nombre de la familia de algoritmos en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256, el nombre del elemento es PrivateKey y la familia de algoritmos es HMAC:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    
  2. Verifica que el elemento y la familia de algoritmos utilizados en el XML de la política Generate JWT fallida coincidan con el elemento y la familia de algoritmos identificados en el mensaje de error del paso 1. Por ejemplo, la siguiente política especifica el elemento como PrivateKey y la familia de algoritmos como HMAC, que coincide con lo que aparece en el mensaje de error:

    <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>
    
  3. Si el valor del elemento <Algorithm> es HS256, pero ha usado <PrivateKey>, ese es el motivo del error.

    En el ejemplo de política Generate JWT que se muestra arriba, se usa <PrivateKey> aunque <PrivateKey> se haya definido en un algoritmo de familia, HS256, lo que provoca el siguiente error:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    

Resolución

Asegúrate de que el elemento <PrivateKey> se utilice solo con algoritmos de la familia RSA y de que el elemento <SecretKey> se utilice solo con algoritmos de la familia HS.

Para corregir la política Generate JWT de ejemplo que se muestra arriba, usa el <SecretKey> de la política GenerateJWT que usa el 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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Invalid Value for element : policy(policy_name) element(element_name).

Ejemplo de mensaje de error

Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce si el valor especificado en el elemento <Algorithm> no es uno de los siguientes:

HS256, HS384, HS512, RS256, RS384 y RS512

Por ejemplo, si especifica el valor del algoritmo como RS128 en el elemento <Algorithm>, se producirá este error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT y el nombre del elemento en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256 y el nombre del elemento es Algorithm..

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. Examina el XML de la política Generate JWT que ha fallado y comprueba el valor especificado para el elemento <Algorithm>.

    A continuación se muestra un ejemplo de política Generate JWT:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS128</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='status' type='string'>Development</Claim>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. Examine el valor especificado en el elemento <Algorithm>. Si no es uno de los siguientes valores:

    HS256, HS384, HS512, RS256, RS384 y RS512

    entonces, esa es la causa del error.

    En el ejemplo de política Generar JWT que se muestra arriba, el <Algorithm> nombre se especifica como HS128. Como no se trata de un algoritmo admitido, se produce el siguiente error:

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    

Resolución

Compruebe que el valor especificado en el elemento <Algorithm> sea uno de los valores admitidos:

HS256, HS384, HS512, RS256, RS384 y RS512

Para corregir el ejemplo de política Generate JWT que se muestra arriba, que usa el elemento <SecretKey>, cambia el valor de <Algorithm> a HS25. Ten en cuenta que, cuando se usa el elemento <SecretKey>, solo puedes usar algoritmos de la familia 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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Missing configuration element : policy(policy_name) element(element_name).

Ejemplo de mensaje de error

Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce cuando el elemento <PrivateKey> no se usa con algoritmos de la familia RSA en la política Generate JWT. Del mismo modo, el error puede producirse si el elemento <SecretKey> no se usa con algoritmos de la familia HS en la política Generar JWT.

Por ejemplo, si no se usa el elemento <PrivateKey> con los algoritmos de la familia RSA, se produce este error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT y el nombre del elemento que falta en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256 y el nombre del elemento que falta es SecretKey.

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    
  2. Examina el XML de la política Generate JWT que ha fallado y comprueba que falta el elemento indicado en el mensaje de error. Si falta, esa es la causa del error.

    Por ejemplo, en la siguiente política falta el SecretKey y el Algorithm utilizado es 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>
    

    En el ejemplo de política Generate JWT se usan algoritmos de la familia HS, pero falta el elemento obligatorio SecretKey, lo que provoca el siguiente error:

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    

Resolución

Asegúrate de que el elemento obligatorio <PrivateKey> se usa con los algoritmos de la familia RSA y de que el elemento obligatorio <SecretKey> se usa con los algoritmos de la familia HS.

Para corregir la política Generate JWT de ejemplo que se muestra arriba, que usa el algoritmo HS256, añade el elemento <SecretKey> a la política Generate JWT:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidKeyConfiguration

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 
Invalid Key configuration : policy(policy_name).

Ejemplo de mensaje de error

Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

Error al guardar la revisión 3.

Causa

Este error se produce si el elemento secundario obligatorio <Value> no se define en los elementos <PrivateKey> o <SecretKey> de la política Generate JWT.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256.

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. Examina el XML de la política Generate JWT fallida y comprueba si el elemento secundario <Value> no está definido en los elementos <PrivateKey> o <SecretKey>. Si <Value> no está definido, esa es la causa del error.

    Por ejemplo, en la siguiente política, el elemento secundario <Value> no se define en el 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>
    

    Como el elemento secundario <Value> no está definido en el elemento <SecretKey> de la política Generate JWT, se produce el siguiente error:

    Invalid Key configuration : policy(JWT-Generate-HS256).
    

Resolución

Asegúrate de que el elemento secundario <Value> siempre esté definido en los elementos <PrivateKey> o <SecretKey> de la política Generate JWT.

Para corregir la política Generate JWT de ejemplo que se muestra arriba, define el elemento secundario <Value> en el elemento <SecretKey>, tal como se muestra a continuación:

<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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Empty Element for Key Configuration : policy(policy_name) element(element_name).

Ejemplo de mensaje de error

Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce si el atributo ref del elemento secundario <Value> de los elementos <PrivateKey> o <SecretKey> no se especifica o está vacío.

Por ejemplo, si el elemento secundario <Value> del elemento <SecretKey> está vacío, se produce un error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT y el nombre del elemento vacío en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256 y el nombre del elemento vacío es SecretKey/Value.

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Examina el XML de la política Generate JWT que ha fallado y comprueba si el elemento identificado en el paso 1 está vacío. Si está vacío, ese es el motivo del error.

    Por ejemplo, la siguiente política muestra que el elemento secundario <Value> del elemento <SecretKey> está vacío:

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

    Como el elemento secundario <Value> del elemento <SecretKey> de la política Generate JWT está vacío, se produce el siguiente error:

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

Resolución

Asegúrese de que el atributo ref del elemento secundario <Value> de los elementos <PrivateKey> o <SecretKey> siempre se especifique y tenga el prefijo "private.".

Para corregir la política Generate JWT de ejemplo que se muestra arriba, usa la variable de flujo private.privatekey en el elemento secundario <Value> del 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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Invalid variable name for secret : policy(policy_name) element(element_name).

Ejemplo de mensaje de error

Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce si el nombre de la variable de flujo especificado en el atributo ref del elemento secundario <Value> de los elementos <PrivateKey> o <SecretKey> no incluye el prefijo privado (private.).

Por ejemplo :

Si el nombre de la variable de flujo se especifica como mykey en el atributo ref del elemento secundario <Value> del elemento <PrivateKey>, se produce este error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT y el nombre del elemento con un nombre de variable no válido en el mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256 y el nombre del elemento es SecretKey/Value.

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Examina el XML de la política de generación de JWT fallida y verifica el nombre de la variable usada en el elemento, identificado en el paso 1. Si el nombre de la variable no tiene el prefijo private., ese es el motivo del error.

    Por ejemplo, la siguiente política muestra que el elemento secundario <Value> del elemento <SecretKey> tiene el nombre de variable no válido mykey:

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

    Como el nombre de la variable especificado en el elemento secundario <Value> del elemento <SecretKey> de la política Generate JWT no tiene el prefijo private., se produce el siguiente error:

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

Resolución

Asegúrate de que el atributo ref del elemento secundario <Value> de los elementos <PrivateKey> o <SecretKey> siempre se especifique y tenga el prefijo private..

Para corregir la política Generate JWT de ejemplo que se muestra arriba, usa la variable de flujo private.privatekey en el elemento secundario <Value> del 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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).

Ejemplo de mensaje de error

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

No se ha podido guardar la revisión 2.

Causa

Este error se produce si el valor (secreto) se especifica explícitamente en:

  • Los elementos secundarios <Value> o <Password> del elemento <PrivateKey> o
  • El elemento secundario <Value> del elemento <SecretKey>

en la política Generar JWT.

Por ejemplo, si el secreto se especifica explícitamente como abc en el elemento secundario <Value> del elemento <SecretKey>, se producirá este error.

Diagnóstico

  1. Identifica el nombre de la política Generate JWT y el nombre del elemento en el que se especifica explícitamente el secreto a partir del mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256 y el nombre del elemento es SecretKey/Value.

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Examina el archivo XML de la política Generate JWT que ha fallado y comprueba si el secreto se ha especificado explícitamente en el elemento identificado en el paso 1. Si se especifica explícitamente, esa es la causa del error.

    Por ejemplo, la siguiente política muestra que el secreto se ha especificado explícitamente en el elemento secundario <Value> del 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>
    

    Como el secreto se especifica explícitamente en el elemento secundario <Value> del elemento <SecretKey> de la política Generate JWT, se produce el siguiente error:

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

Resolución

Asegúrate de que el valor siempre se especifique como una variable de flujo en el elemento secundario <Value> de los elementos <PrivateKey> o <SecretKey>.

Para corregir la política Generate JWT de ejemplo que se muestra arriba, usa la variable de flujo private.secretkey en el atributo ref del elemento secundario <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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

Error Saving Revision 2
Invalid Time format: policy(policy_name) element(element_name).

Ejemplo de mensaje de error

Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).

Captura de pantalla de ejemplo

En la interfaz de usuario de Apigee, verás un cuadro de diálogo con un error:

Error al guardar la revisión 3.

Causa

Este error se produce si el valor especificado en el elemento <NotBefore> no se encuentra entre los formatos admitidos:

sortable, RFC 1123, RFC 850, ANCI-C

Por ejemplo, si el valor especificado en <NotBefore> es 20-JUN-1990 08:03, que no es un formato admitido, se produce este error.

<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>

Diagnóstico

  1. Identifica el nombre de la política Generate JWT y el nombre del elemento que tiene un formato de hora no válido a partir del mensaje de error. Por ejemplo, en el siguiente mensaje de error, el nombre de la política Generate JWT es JWT-Generate-HS256 y el nombre del elemento es NotBefore.

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. Examina el XML de la política Generate JWT fallida y verifica el formato de hora utilizado en el elemento identificado en el paso 1. Si el elemento no usa ninguno de los formatos admitidos:

    sortable, RFC 1123, RFC 850, ANCI-C

    entonces, esa es la causa del error.

    Por ejemplo, en la siguiente política se muestra que el elemento secundario <NotBefore> usa un formato de hora no admitido:

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

    Como el elemento <NotBefore> de la política Generate JWT no usa ninguno de los formatos de hora admitidos, se produce el siguiente error:

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

Resolución

Asegúrese de que el valor especificado en el elemento <NotBefore> utilice uno de los formatos admitidos:

sortable, RFC 1123, RFC 850, ANCI-C

Para corregir la política de ejemplo Generate JWT, modifica la fecha del elemento <NotBefore> para que use el formato sortable, tal como se muestra a continuación:

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