Risoluzione degli errori di deployment dei criteri generateJWT

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

InvalidNameForAdditionalClaim

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica se il nome della rivendicazione utilizzato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> è uno dei seguenti nomi registrati:

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

Le rivendicazioni registrate sono specificate nel documento RFC 7519.

Ad esempio, l'utilizzo del nome rivendicazione iss nell'elemento <AdditionalClaims> genererà questo errore.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT e il nome dell'attestazione nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera criterio JWT è JWT-Generate-HS256 e il nome della rivendicazione è iss:

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    
  2. Verifica che il nome della rivendicazione utilizzato nell'elemento <AdditionalClaims> nel file XML del criterio Genera il criterio JWT non riuscito corrisponda al nome della rivendicazione identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, la seguente norma specifica la rivendicazione come iss, che corrisponde al contenuto del messaggio di errore:

    <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. Se il nome della rivendicazione utilizzato nell'elemento secondario <Claim>dell'elemento<AdditionalClaims> è uno dei seguenti nomi registrati:

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

    questa è la causa dell'errore.

    Nell'esempio Genera criterio JWT mostrato sopra, il nome <Claim> viene specificato come iss nell'elemento <AdditionalClaims>, generando l'errore:

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

Risoluzione

Non utilizzare i nomi registrati "kid", "iss", "sub", "aud", "iat", "exp", "nbf" o "jti" nell'elemento secondario <Claim>dell'elemento<AdditionalClaims>.

Per correggere il criterio Genera JWT di esempio mostrato sopra, modifica il nome della rivendicazione in 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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica se il tipo di rivendicazione utilizzato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> del criterio GeneraJWT non è uno dei seguenti:

string (predefinito), number, boolean o map

Ad esempio, l'utilizzo del tipo di rivendicazione integer nell'elemento <AdditionalClaims> comporterà un errore.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT, il nome della rivendicazione e il tipo di rivendicazione nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256, il nome della rivendicazione è claim e il tipo di rivendicazione è integer:

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. Verifica che il nome e il tipo della rivendicazione utilizzati nell'elemento <AdditionalClaims> nel file XML del criterio Genera criterio JWT non riuscito corrispondano al nome e al tipo della rivendicazione identificati nel messaggio di errore nel passaggio 1. Ad esempio, la seguente norma specifica la rivendicazione come claim e il tipo come integer, che corrispondono al contenuto del messaggio di errore:

    <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. Se il tipo di rivendicazione utilizzato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> non è uno dei seguenti:

    string (predefinito), number, boolean o map

    questa è la causa dell'errore.

    Nell'esempio Genera criterio JWT mostrato sopra, il tipo <Claim> sotto l'elemento <AdditionalClaims> è specificato come integer. Poiché integer non è un tipo supportato, viene visualizzato il seguente errore:

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

Risoluzione

Assicurati che nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> vengano utilizzati solo tipi di dati supportati, come string, number, boolean o map.

Per correggere il criterio Genera JWT di esempio mostrato sopra, modifica il tipo di rivendicazione in 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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica se il nome della rivendicazione non è specificato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> o <AdditionalHeaders>.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256:

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. Esamina il file XML del criterio Genera il criterio JWT non riuscito e verifica se il nome della rivendicazione manca nell'elemento secondario <Claims> all'interno dell'elemento <AdditionalClaims> o <AdditionalHeaders>. Ad esempio, il seguente criterio Genera JWT non specifica il nome della rivendicazione nell'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>
    

    Poiché il nome <Claim> non è specificato sotto l'elemento <AdditionalClaims>, viene visualizzato questo errore:

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

Risoluzione

Assicurati che il nome della rivendicazione sia sempre specificato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> o <AdditionalHeaders>.

Per correggere il criterio Genera JWT di esempio mostrato sopra, specifica il nome della rivendicazione come mostrato di seguito:

<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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica se il nome dell'attestazione utilizzata nell'elemento secondario <Claim> dell'elemento <AdditionalHeaders> è una delle seguenti intestazioni JWT standard:

alg o typ

Ad esempio, l'utilizzo di un nome rivendicazione alg nell'elemento <AdditionalHeaders> comporterà l'errore.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT e il nome dell'intestazione dal messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera criterio JWT è JWT-Generate-HS256 e il nome dell'intestazione è alg:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. Verifica che il nome dell'intestazione utilizzato nell'elemento secondario <Claim> all'interno dell'elemento <AdditionalHeaders> nel file XML del criterio Genera criterio JWT non riuscito corrisponda al nome dell'intestazione identificato nel messaggio di errore al passaggio 1. Ad esempio, il seguente criterio specifica l'intestazione come alg, che corrisponde al contenuto del messaggio di errore:

    <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. Se il nome utilizzato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> è una delle seguenti intestazioni JWT standard:

    alg o typ

    questa è la causa dell'errore.

    Nell'esempio Genera criterio JWT mostrato sopra, il nome <Claim> viene specificato come alg nell'elemento <AdditionalClaims>, generando l'errore:

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

Risoluzione

Non utilizzare le intestazioni JWT standard alg o typ nell'elemento secondario <Claim> dell'elemento <AdditionalHeaders>.

Per correggere l'esempio di generazione del criterio JWT mostrato sopra, utilizza il nome x5c nell'elemento secondario <Claim> dell'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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

L'errore si verifica se il tipo di rivendicazione utilizzato nell'elemento secondario <Claim> dell'elemento <AdditionalHeaders> del criterio generateJWT non è uno dei seguenti:

string (predefinito), number, boolean o map.

Ad esempio, l'utilizzo del tipo di rivendicazione integer nell'elemento <AdditionalHeaders> causerà l'errore.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT, il nome della rivendicazione e il tipo di rivendicazione nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256, il nome della rivendicazione è claim, e il tipo di rivendicazione è integer:

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. Verifica che il nome e il tipo di rivendicazione utilizzati nell'elemento <AdditionalClaims> nel file XML del criterio Genera criterio JWT non riuscito corrispondano al nome e al tipo di rivendicazione identificati nel messaggio di errore nel passaggio 1. Ad esempio, la seguente norma specifica la rivendicazione come claim e il tipo di rivendicazione come integer, che corrispondono al contenuto del messaggio di errore:

    <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. Se il tipo di rivendicazione utilizzato nell'elemento secondario <Claim> dell'elemento <AdditionalHeaders> non è uno dei seguenti:

    string (predefinito), number, boolean o map

    questa è la causa dell'errore.

    Nell'esempio Genera criterio JWT mostrato sopra, il tipo <Claim> sotto l'elemento <AdditionalHeaders> è specificato come integer. Poiché integer non è un tipo supportato, viene visualizzato il seguente errore:

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

Risoluzione

Assicurati che vengano utilizzati solo i tipi di dati supportati string, number, boolean o map nell'elemento secondario <Claim> dell'elemento <AdditionalHeaders>.

Per correggere il criterio Genera JWT di esempio mostrato sopra, modifica il tipo di rivendicazione in 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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica se il valore dell'attributo array nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> o <AdditionalHeaders> non è impostato su true o false.

Ad esempio, l'impostazione del valore dell'attributo array come yes nell'elemento secondario <Claim> di <AdditionalClaims> o <AdditionalHeaders> causa l'errore.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT e il nome dell'attestazione nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256 e il nome della rivendicazione è claim:

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    
  2. Verifica che il nome della rivendicazione utilizzato nell'elemento secondario <Claim> all'interno dell'elemento <AdditionalHeaders> nel file XML del criterio Genera criterio JWT non riuscito corrisponda al nome della rivendicazione identificato nel messaggio di errore nel passaggio 1. Ad esempio, la seguente norma specifica il nome della rivendicazione come claim, che corrisponde al contenuto del messaggio di errore:

    <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. Se il valore dell'attributo array nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> non è impostato su true o false, si tratta della causa dell'errore.

    Poiché l'attributo array nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> è impostato su yes nell'esempio precedente, viene visualizzato l'errore:

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

Risoluzione

Assicurati che il valore dell'attributo array nell'elemento secondario <Claim> di <AdditionalClaims> o <AdditionalHeaders> sia impostato su true o false.

Per correggere il criterio Genera JWT di esempio mostrato sopra, modifica il valore dell'attributo dell'array in 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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica se l'elemento <PrivateKey> viene utilizzato con gli algoritmi della famiglia HS e l'elemento <SecretKey> viene utilizzato con gli algoritmi della famiglia RSA. L'errore si verifica anche se una delle seguenti condizioni è vera.

Ad esempio, questo errore viene generato utilizzando l'elemento <PrivateKey> con gli algoritmi della famiglia HS.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT, il nome dell'elemento e il nome della famiglia dell'algoritmo nel messaggio di errore. Ad esempio, nel seguente messaggio di errore il nome del criterio Genera JWT è JWT-Generate-HS256, il nome dell'elemento è PrivateKey e la famiglia di algoritmi è HMAC:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    
  2. Verifica che l'elemento e la famiglia di algoritmi utilizzati nel file XML del criterio Genera criterio JWT non riuscito corrispondano all'elemento e alla famiglia di algoritmi identificati nel messaggio di errore del passaggio 1. Ad esempio, il seguente criterio specifica l'elemento come PrivateKey e la famiglia di algoritmi come HMAC, che corrispondono al contenuto del messaggio di errore:

    <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. Se il valore dell'elemento <Algorithm> è HS256, ma hai utilizzato <PrivateKey>, si tratta della causa dell'errore.

    Nell'esempio Genera criterio JWT mostrato sopra, <PrivateKey> viene utilizzato anche se <PrivateKey> è impostato su un algoritmo famiglia, HS256, generando l'errore:

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

Risoluzione

Assicurati che l'elemento <PrivateKey> sia utilizzato solo con gli algoritmi della famiglia RSA e che l'elemento <SecretKey> sia utilizzato solo con gli algoritmi della famiglia HS.

Per correggere l'esempio di criterio Genera JWT mostrato sopra, utilizza il <SecretKey> del criterio GeneraJWT che utilizza l'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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica se il valore specificato nell'elemento <Algorithm> non è uno dei seguenti:

HS256, HS384, HS512, RS256, RS384 e RS512

Ad esempio, se specifichi il valore dell'algoritmo come RS128 nell'elemento <Algorithm>, viene restituito questo errore.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT e il nome dell'elemento nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256 e il nome dell'elemento è Algorithm.

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. Esamina il codice XML del criterio Genera criterio JWT non riuscito e controlla il valore specificato per l'elemento <Algorithm>.

    Ecco un esempio di Genera criterio 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. Esamina il valore specificato nell'elemento <Algorithm>. Se non è uno dei seguenti valori:

    HS256, HS384, HS512, RS256, RS384 e RS512

    questa è la causa dell'errore.

    Nell'esempio Genera criterio JWT mostrato sopra, il nome <Algorithm> è specificato come HS128. Poiché questo algoritmo non è supportato, viene visualizzato l'errore:

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

Risoluzione

Assicurati che il valore specificato nell'elemento <Algorithm> sia uno dei valori supportati:

HS256, HS384, HS512, RS256, RS384 e RS512

Per correggere il criterio Genera JWT di esempio mostrato sopra, che utilizza l'elemento <SecretKey>, modifica il valore del criterio <Algorithm> in HS25. Nota: quando viene usato l'elemento <SecretKey>, puoi usare soltanto gli algoritmi della famiglia 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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica quando l'elemento <PrivateKey> non viene utilizzato con gli algoritmi della famiglia RSA nel criterio Genera JWT. Allo stesso modo, l'errore può verificarsi se l'elemento <SecretKey> non viene utilizzato con gli algoritmi della famiglia HS nel criterio Genera JWT.

Ad esempio, questo errore si verifica se non utilizzi l'elemento <PrivateKey> con gli algoritmi della famiglia RSA.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT e il nome dell'elemento mancante nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256 e il nome dell'elemento mancante è SecretKey.

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    
  2. Esamina il file XML del criterio Genera criterio JWT non riuscito e verifica che manchi l'elemento indicato nel messaggio di errore. Se manca, significa che è la causa dell'errore.

    Ad esempio, nel criterio seguente manca il criterio SecretKey e il valore Algorithm utilizzato è 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>
    

    L'esempio Genera criterio JWT utilizza algoritmi della famiglia HS, ma manca l'elemento obbligatorio SecretKey, con conseguente errore:

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

Risoluzione

Assicurati che l'elemento <PrivateKey> obbligatorio venga utilizzato con gli algoritmi della famiglia RSA e l'elemento <SecretKey> obbligatorio con gli algoritmi della famiglia HS.

Per correggere il criterio Genera JWT di esempio mostrato sopra, che utilizza l'algoritmo HS256, aggiungi l'elemento <SecretKey> al criterio Genera 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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 3.

Causa

Questo errore si verifica se l'elemento secondario obbligatorio <Value> non è definito negli elementi <PrivateKey> o <SecretKey> del criterio Genera JWT.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256.

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. Esamina il codice XML del criterio Genera criterio JWT non riuscito e verifica se l'elemento secondario <Value> non è definito negli elementi <PrivateKey> o <SecretKey>. Se <Value> non è definito, è questa la causa dell'errore.

    Ad esempio, nel criterio seguente l'elemento secondario <Value> non è definito nell'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>
    

    Poiché l'elemento secondario <Value> non è definito nell'elemento <SecretKey> del criterio Genera JWT, viene visualizzato l'errore:

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

Risoluzione

Assicurati che l'elemento secondario <Value> sia sempre definito negli elementi <PrivateKey> o <SecretKey> del criterio Genera JWT.

Per correggere l'esempio di generazione del criterio JWT mostrato sopra, definisci l'elemento secondario <Value> sotto l'elemento <SecretKey> come mostrato di seguito:

<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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica se l'attributo ref nell'elemento secondario <Value> degli elementi <PrivateKey> o <SecretKey> non è specificato o vuoto.

Ad esempio, se l'elemento secondario <Value> dell'elemento <SecretKey> è vuoto, si verifica l'errore.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT e il nome dell'elemento vuoto nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256 e il nome dell'elemento vuoto è SecretKey/Value.

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Esamina il file XML del criterio Genera il criterio JWT non riuscito e verifica se l'elemento identificato nel passaggio 1 è vuoto. Se è vuoto, allora è questa la causa dell'errore.

    Ad esempio, il criterio seguente indica che l'elemento secondario <Value> dell'elemento <SecretKey> è vuoto:

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

    Poiché l'elemento secondario <Value> dell'elemento <SecretKey> nel criterio Genera JWT è vuoto, viene visualizzato l'errore:

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

Risoluzione

Assicurati che l'attributo ref nell'elemento secondario <Value> degli elementi <PrivateKey> o <SecretKey> sia sempre specificato e abbia il prefisso "private.".

Per correggere l'esempio di generazione del criterio JWT mostrato sopra, utilizza la variabile di flusso private.privatekey nell'elemento secondario <Value> dell'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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica se il nome della variabile di flusso specificato nell'attributo ref nell'elemento secondario <Value> degli elementi <PrivateKey> o <SecretKey> non include il prefisso privato (private.).

Ad esempio :

Se il nome della variabile di flusso è specificato come mykey nell'attributo ref dell'elemento secondario <Value> dell'elemento <PrivateKey>, si verifica questo errore.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT e il nome dell'elemento con un nome di variabile non valido nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256 e il nome dell'elemento è SecretKey/Value.

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Esamina il file XML del criterio Genera il criterio JWT non riuscito e verifica il nome della variabile utilizzato nell'elemento, identificato nel passaggio 1. Se il nome della variabile non contiene il prefisso private., si tratta di questo errore.

    Ad esempio, il seguente criterio indica che l'elemento secondario <Value> dell'elemento <SecretKey> ha il nome di variabile non valido 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>
    

    Poiché il nome della variabile specificato nell'elemento secondario <Value> dell'elemento <SecretKey> del criterio Genera JWT non ha il prefisso private., viene visualizzato il seguente errore:

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

Risoluzione

Assicurati che l'attributo ref nell'elemento secondario <Value> degli elementi <PrivateKey> o <SecretKey> sia sempre specificato e abbia il prefisso private..

Per correggere l'esempio di generazione del criterio JWT mostrato sopra, utilizza la variabile di flusso private.privatekey nell'elemento secondario <Value> dell'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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 2.

Causa

Questo errore si verifica se il valore (secret) viene specificato esplicitamente in:

  • Gli elementi secondari <Value> o <Password> dell'elemento <PrivateKey> o
  • L'elemento secondario <Value> dell'elemento <SecretKey>

nel criterio Genera JWT.

Ad esempio, se il secret viene specificato esplicitamente come abc nell'elemento secondario <Value> dell'elemento <SecretKey>, si verifica questo errore.

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT e il nome dell'elemento in cui il secret è specificato esplicitamente nel messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256 e il nome dell'elemento è SecretKey/Value.

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Esamina il codice XML del criterio Genera il criterio JWT non riuscito e verifica se il secret è specificato esplicitamente nell'elemento identificato nel passaggio 1. Se viene specificato esplicitamente, allora è questa la causa dell'errore.

    Ad esempio, il criterio seguente mostra che il secret è stato specificato in modo esplicito nell'elemento secondario <Value> dell'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>
    

    Poiché il secret viene specificato in modo esplicito nell'elemento secondario <Value> dell'elemento <SecretKey> del criterio Genera JWT, viene visualizzato l'errore:

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

Risoluzione

Assicurati che il valore sia sempre specificato come variabile di flusso nell'elemento secondario <Value> degli elementi <PrivateKey> o <SecretKey>.

Per correggere il criterio Genera JWT di esempio mostrato sopra, utilizza la variabile di flusso private.secretkey nell'attributo ref dell'elemento secondario <Value> di <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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzata una finestra di dialogo con un errore:

Errore durante il salvataggio della revisione 3.

Causa

Questo errore si verifica se il valore specificato nell'elemento <NotBefore> non rientra tra i formati supportati:

sortable, RFC 1123, RFC 850, ANCI-C

Ad esempio, se il valore specificato in <NotBefore> è 20-JUN-1990 08:03, che non è un formato supportato, si verifica questo errore.

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

Diagnosi

  1. Identifica il nome del criterio Genera criterio JWT e il nome dell'elemento con un formato ora non valido dal messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome del criterio Genera JWT è JWT-Generate-HS256 e il nome dell'elemento è NotBefore.

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. Esamina il file XML del criterio Genera il criterio JWT non riuscito e verifica il formato ora utilizzato nell'elemento identificato nel passaggio 1. Se l'elemento non utilizza nessuno dei formati supportati:

    sortable, RFC 1123, RFC 850, ANCI-C

    questa è la causa dell'errore.

    Ad esempio, il seguente criterio indica che l'elemento secondario <NotBefore> utilizza un formato dell'ora non supportato:

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

    Poiché l'elemento <NotBefore> del criterio Genera JWT non utilizza nessuno dei formati orari supportati, viene visualizzato l'errore:

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

Risoluzione

Assicurati che il valore specificato nell'elemento <NotBefore> utilizzi uno dei formati supportati:

sortable, RFC 1123, RFC 850, ANCI-C

Per correggere l'esempio Genera criterio JWT, modifica la data nell'elemento <NotBefore> in modo da utilizzare il formato sortable come mostrato di seguito:

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