Устранение неполадок при развертывании правила GenerateJWT

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

InvalidNameForAdditionalClaim

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если название заявки, используемой в дочернем элементе <Claim> элемента <AdditionalClaims>, является одним из следующих зарегистрированных названий:

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

Зарегистрированные утверждения указаны в RFC7519.

Например, если вы используете название заявки iss в элементе <AdditionalClaims>, возникнет ошибка.

диагностика;

  1. Определите название правила Generate JWT (Создать JWT) и название утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256, а название утверждения – iss:

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    
  2. Убедитесь, что название утверждения, используемое в элементе <AdditionalClaims> в XML-файле правила Generate JWT, совпадает с названием утверждения, указанным в сообщении об ошибке (шаг 1 выше). Например, в правилах ниже указано, что требование имеет значение iss, которое совпадает с сообщением об ошибке:

    <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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name="iss"/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. Если в дочернем элементе <Claim> элемента <AdditionalClaims> используется одно из следующих зарегистрированных названий утверждений:

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

    то это и есть причина ошибки.

    В примере выше в правиле Generate JWT имя <Claim> указано как iss под элементом <AdditionalClaims>, что приводит к ошибке:

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

Разрешение

Не используйте зарегистрированные имена "kid", "iss", "sub", "aud", "iat", "exp", "nbf" или "jti" в дочернем элементе <Claim>элемента<AdditionalClaims>.

Чтобы исправить пример политики Generate JWT, приведенный выше, измените название утверждения на 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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='status' type='string'>Development</Claim>
    </AdditionalClaims>
</GenerateJWT>

InvalidTypeForAdditionalClaim

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если тип утверждения, используемый в дочернем элементе <Claim> элемента <AdditionalClaims> правила GenerateJWT, не относится к одному из следующих типов:

string (по умолчанию), number, boolean или map

Например, если вы используете тип заявления integer в элементе <AdditionalClaims>, возникнет ошибка.

диагностика;

  1. Определите название правила Generate JWT, название утверждения и тип заявки по сообщению об ошибке. Например, в приведенном ниже сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256, название утверждения – claim, а тип утверждения – integer:

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. Убедитесь, что имя и тип утверждения, используемые в элементе <AdditionalClaims> в XML-файле неудачных правил Generate JWT, совпадают с именем и типом утверждения, указанными в сообщении об ошибке на шаге 1. Например, в следующем правиле указано, что претензия имеет значение claim, а тип – integer, что соответствует сообщению об ошибке:

    <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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='integer'/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. Если тип заявки, используемый в дочернем элементе <Claim> элемента <AdditionalClaims>, не относится к одному из следующих типов:

    string (по умолчанию), number, boolean или map

    то это и есть причина ошибки.

    В примере выше в правиле Generate JWT тип <Claim> под элементом <AdditionalClaims> указан как integer. Поскольку тип integer не поддерживается, вы получите сообщение об ошибке:

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

Разрешение

Убедитесь, что в дочернем элементе <Claim> элемента <AdditionalClaims> используются только поддерживаемые типы данных, например string, number, boolean или map.

Чтобы исправить пример правила Generate JWT, приведенный выше, измените тип заявки на 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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</GenerateJWT>

MissingNameForAdditionalClaim

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если название требования не указано в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders>.

диагностика;

  1. Определите название правила Generate JWT (Создать JWT) по сообщению об ошибке. Например, в следующем сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256:

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. Проверьте XML-код правила Generate JWT и убедитесь, что в дочернем элементе <Claims> отсутствует название утверждения под элементом <AdditionalClaims> или <AdditionalHeaders>. Например, в следующем правиле Generate JWT не указано название утверждения в элементе <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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim ref='reqclaim' type='boolean'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    Поскольку имя <Claim> не указано в элементе <AdditionalClaims>, возникает ошибка:

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

Разрешение

Убедитесь, что название требования всегда указано в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders>.

Чтобы исправить пример правила 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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</GenerateJWT>

InvalidNameForAdditionalHeader

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если название утверждения, используемого в дочернем элементе <Claim> элемента <AdditionalHeaders>, является одним из следующих стандартных заголовков JWT:

alg или typ

Например, если вы используете название заявки alg в элементе <AdditionalHeaders>, возникнет ошибка.

диагностика;

  1. Определите название правила Generate JWT и название заголовка из сообщения об ошибке. Например, в следующем сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256, а название заголовка – alg:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. Убедитесь, что название заголовка, используемое в дочернем элементе <Claim> под элементом <AdditionalHeaders> в XML-файле политики Generate JWT, не соответствует названию заголовка, указанному в сообщении об ошибке на шаге 1. Например, в следующем правиле заголовок указан как alg, что соответствует сообщению об ошибке:

    <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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalHeaders>
            <Claim name="alg"/>
        </AdditionalHeaders>
    </GenerateJWT>
    
  3. Если в дочернем элементе <Claim> элемента <AdditionalClaims> используется один из следующих стандартных заголовков JWT:

    alg или typ

    то это и есть причина ошибки.

    В примере выше в правиле Generate JWT имя <Claim> указано как alg под элементом <AdditionalClaims>, что приводит к ошибке:

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

Разрешение

Не используйте стандартные заголовки JWT alg или typ в дочернем элементе <Claim> элемента <AdditionalHeaders>.

Чтобы исправить пример правила "Создать токен JWT", показанный выше, используйте название x5c в дочернем элементе <Claim> элемента <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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='x5c'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidTypeForAdditionalHeader

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Ошибка возникает, если тип утверждения, используемый в дочернем элементе <Claim> элемента <AdditionalHeaders> правила GenerateJWT, не относится к одному из следующих типов:

string (по умолчанию), number, boolean или map.

Например, если вы используете тип заявления integer в элементе <AdditionalHeaders>, возникнет ошибка.

диагностика;

  1. Определите название правила Generate JWT, название утверждения и тип заявки по сообщению об ошибке. Например, в следующем сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256, название утверждения – claim,, а тип утверждения – integer:.

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. Убедитесь, что название и тип утверждения, используемые в элементе <AdditionalClaims> в XML-файле неудачных правил Generate JWT, совпадают с названием и типом утверждения, указанными в сообщении об ошибке на шаге 1. Например, в следующем правиле указано, что заявка – это claim, а тип заявки – integer, что соответствует сообщению об ошибке:

    <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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalHeaders>
            <Claim name='claim' ref='reqclaim' type='integer'/>
        </AdditionalHeaders>
    </GenerateJWT>
    
  3. Если тип заявки, используемый в дочернем элементе <Claim> элемента <AdditionalHeaders>, не относится к одному из следующих типов:

    string (по умолчанию), number, boolean или map

    то это и есть причина ошибки.

    В примере выше в правиле Generate JWT тип <Claim> под элементом <AdditionalHeaders> указан как integer. Поскольку тип integer не поддерживается, вы получите сообщение об ошибке:

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

Разрешение

Убедитесь, что в дочернем элементе <Claim> элемента <AdditionalHeaders> используются только поддерживаемые типы данных: string, number, boolean или map.

Чтобы исправить приведенный выше пример правил Generate JWT, измените тип утверждения на 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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidValueOfArrayAttribute

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если значение атрибута массива в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders> не равно true или false.

Например, ошибка возникает, если задать значение атрибута массива как yes в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders>.

диагностика;

  1. Определите название правила Generate JWT (Создать JWT) и название утверждения из сообщения об ошибке. Например, в приведенном ниже сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256, а название утверждения – claim:.

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    
  2. Убедитесь, что название утверждения, используемое в дочернем элементе <Claim> под элементом <AdditionalHeaders> в XML-файле неудачных правил Generate JWT, совпадает с названием утверждения, указанным в сообщении об ошибке на шаге 1. Например, в правиле ниже название утверждения – claim, и оно совпадает с названием в сообщении об ошибке:

    <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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='yes'/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. Если значение атрибута array в дочернем элементе <Claim> элемента <AdditionalClaims> не равно true или false, то это и является причиной ошибки.

    Поскольку в примере выше атрибут array в дочернем элементе <Claim> элемента <AdditionalClaims> имеет значение yes, возникает ошибка:

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

Разрешение

Убедитесь, что для атрибута array в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders> задано значение true или false.

Чтобы исправить приведенный выше пример правила Generate JWT, измените значение атрибута массива на 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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidConfigurationForActionAndAlgorithm

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если элемент <PrivateKey> используется с алгоритмами семейства HS, а элемент <SecretKey> – с алгоритмами семейства RSA. Ошибка также возникнет, если любое из этих условий будет истинным.

Например, использование элемента <PrivateKey> с алгоритмами HS Family приводит к этой ошибке.

диагностика;

  1. Определите название правила Generate JWT, название элемента и название семейства алгоритмов из сообщения об ошибке. Например, в следующем сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256, название элемента – PrivateKey, а семейство алгоритмов – HMAC:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    
  2. Убедитесь, что элемент и семейство алгоритмов, используемые в XML-файле неудачной политики Generate JWT, соответствуют элементу и семейству алгоритмов, указанным в сообщении об ошибке на шаге 1. Например, в приведенных ниже правилах элемент указан как PrivateKey, а семейство алгоритмов – как HMAC, что соответствует сообщению об ошибке:

    <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-edge-JWT-policy-test</Issuer>
            <Audience>fans</Audience>
            <Id/>
            <AdditionalClaims>
                <Claim name='claim' ref='reqclaim' type='string' array=tuu
        =/>
            </AdditionalClaims>
        </GenerateJWT>
    
  3. Если значение элемента <Algorithm> – HS256, но вы использовали <PrivateKey>, то это и есть причина ошибки.

    В примере выше в правиле Generate JWT используется <PrivateKey>, хотя для <PrivateKey> задан семейный алгоритм HS256, что приводит к ошибке:

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

Разрешение

Убедитесь, что элемент <PrivateKey> используется только с алгоритмами для адаптивных поисковых объявлений для всей семьи, а элемент <SecretKey> – только с алгоритмами для объявлений с заголовками для всей семьи.

Чтобы исправить пример правила Generate JWT, приведенный выше, используйте <SecretKey> из правила GenerateJWT, в котором используется алгоритм 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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidValueForElement

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если значение, указанное в элементе <Algorithm>, не является одним из следующих:

HS256, HS384, HS512, RS256, RS384, RS512

Например, если в элементе <Algorithm> указать значение алгоритма RS128, возникнет ошибка.

диагностика;

  1. Определите название правила Generate JWT и название элемента из сообщения об ошибке. Например, в следующем сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256, а название элемента – Algorithm..

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. Проверьте XML-код правила Generate JWT и значение элемента <Algorithm>.

    Вот пример правил для создания токена 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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='status' type='string'>Development</Claim>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. Проверьте значение, указанное в элементе <Algorithm>. Если значение не соответствует одному из следующих вариантов:

    HS256, HS384, HS512, RS256, RS384, RS512

    то это и есть причина ошибки.

    В примере выше имя <Algorithm> задано как HS128. Поскольку этот алгоритм не поддерживается, вы получите ошибку:

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

Разрешение

Убедитесь, что значение, указанное в элементе <Algorithm>, является одним из поддерживаемых:

HS256, HS384, HS512, RS256, RS384, RS512

Чтобы исправить приведенный выше пример правила Generate JWT, в котором используется элемент <SecretKey>, измените значение <Algorithm> на HS25. Обратите внимание, что при использовании элемента <SecretKey> можно применять только алгоритмы HS Family.

<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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='status' type='string'>Development</Claim>
    </AdditionalClaims>
</GenerateJWT>

MissingConfigurationElement

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, когда элемент <PrivateKey> не используется с алгоритмами семейства RSA в правиле Generate JWT. Кроме того, ошибка может возникнуть, если элемент <SecretKey> не используется с алгоритмами семейства HS в правиле Generate JWT.

Например, эта ошибка возникает, если не использовать элемент <PrivateKey> с семейными алгоритмами RSA.

диагностика;

  1. Определите название правила "Создать токен JWT" и название отсутствующего элемента по сообщению об ошибке. Например, в приведенном ниже сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256, а название отсутствующего элемента – SecretKey.

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    
  2. Проверьте XML-код для правила Generate JWT и убедитесь, что элемент, указанный в сообщении об ошибке, отсутствует. Если его нет, то это и есть причина ошибки.

    Например, в приведенной ниже политике отсутствует параметр SecretKey, а вместо параметра Algorithm используется параметр 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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    В примере правил Generate JWT используются алгоритмы семейства HS, но отсутствует обязательный элемент SecretKey, из-за чего возникает ошибка:

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

Разрешение

Убедитесь, что обязательный элемент <PrivateKey> используется с алгоритмами семейства RSA, а обязательный элемент <SecretKey> – с алгоритмами семейства HS.

Чтобы исправить приведенный выше пример правила Generate JWT, в котором используется алгоритм HS256, добавьте элемент <SecretKey> в правило 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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidKeyConfiguration

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если обязательный дочерний элемент <Value> не определен в элементах <PrivateKey> или <SecretKey> в правиле Generate JWT.

диагностика;

  1. Определите название правила Generate JWT (Создать JWT) по сообщению об ошибке. Например, в приведенном ниже сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256.

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. Проверьте XML-код правила Generate JWT и убедитесь, что дочерний элемент <Value> не определен в элементах <PrivateKey> или <SecretKey>. Если <Value> не определено, это и является причиной ошибки.

    Например, в приведенной ниже политике дочерний элемент <Value> не определен в элементе <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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    Поскольку дочерний элемент <Value> не определен в элементе <SecretKey> правила Generate JWT, вы получите ошибку:

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

Разрешение

Убедитесь, что дочерний элемент <Value> всегда определен в элементах <PrivateKey> или <SecretKey> правила Generate JWT.

Чтобы исправить пример правила "Создать токен JWT", показанный выше, определите дочерний элемент <Value> под элементом <SecretKey>, как показано ниже:

<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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

EmptyElementForKeyConfiguration

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если атрибут ref в дочернем элементе <Value> элементов <PrivateKey> или <SecretKey> не указан или пуст.

Например, если дочерний элемент <Value> элемента <SecretKey> пуст, возникает ошибка.

диагностика;

  1. Определите название правила Generate JWT (Создать JWT) и название пустого элемента из сообщения об ошибке. Например, в приведенном ниже сообщении об ошибке название правила Generate JWT – JWT-Generate-HS256, а название пустого элемента – SecretKey/Value.

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Проверьте XML-код правила Generate JWT и убедитесь, что элемент, указанный на шаге 1, пуст. Если он пуст, то это и есть причина ошибки.

    Например, в приведенных ниже правилах показано, что дочерний элемент <Value> элемента <SecretKey> пуст:

    <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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    Поскольку дочерний элемент <Value> элемента <SecretKey> в правиле Generate JWT пуст, вы получаете ошибку:

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

Разрешение

Убедитесь, что атрибут ref в дочернем элементе <Value> элементов <PrivateKey> или <SecretKey> всегда указан и имеет префикс "private.".

Чтобы исправить пример правила Generate JWT, приведенный выше, используйте переменную потока private.privatekey в дочернем элементе <Value> элемента <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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidVariableNameForSecret

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если имя переменной потока, указанное в атрибуте ref дочернего элемента <Value> элементов <PrivateKey> или <SecretKey>, не содержит частный префикс (private.).

For example :

Если в атрибуте ref дочернего элемента <Value> элемента <PrivateKey> указано название переменной потока mykey, возникает эта ошибка.

диагностика;

  1. Определите название правила Generate JWT и название элемента с недопустимым названием переменной из сообщения об ошибке. Например, в приведенном ниже сообщении об ошибке название правила "Создать токен JWT" – JWT-Generate-HS256, а название элемента – SecretKey/Value.

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Проверьте XML-код политики Generate JWT, которая не сработала, и убедитесь, что имя переменной, используемое в элементе, определенном на шаге 1, указано правильно. Если у переменной нет префикса private., это и является причиной ошибки.

    Например, в приведенных ниже правилах показано, что дочерний элемент <Value> элемента <SecretKey> имеет недопустимое название переменной 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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    Поскольку имя переменной, указанное в дочернем элементе <Value> элемента <SecretKey> политики Generate JWT, не имеет префикса private., возникает ошибка:

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

Разрешение

Убедитесь, что атрибут ref в дочернем элементе <Value> элементов <PrivateKey> или <SecretKey> всегда указан и имеет префикс private..

Чтобы исправить пример правила Generate JWT, приведенный выше, используйте переменную потока private.privatekey в дочернем элементе <Value> элемента <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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidSecretInConfig

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если значение (секрет) указано явным образом в:

  • Дочерние элементы <Value> или <Password> элемента <PrivateKey> или
  • Дочерний элемент <Value> элемента <SecretKey>

в правиле Generate JWT.

Например, если секрет явно указан как abc в дочернем элементе <Value> элемента <SecretKey>, то возникает эта ошибка.

диагностика;

  1. Определите название правила Generate JWT и название элемента, в котором секрет указан явным образом, на основе сообщения об ошибке. Например, в приведенном ниже сообщении об ошибке название правила "Создать токен JWT" – JWT-Generate-HS256, а название элемента – SecretKey/Value.

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Проверьте XML-код правила Generate JWT и убедитесь, что секрет явно указан в элементе, определенном на шаге 1. Если она указана явно, то именно она является причиной ошибки.

    Например, в приведенных ниже правилах показано, что секрет указан явным образом в дочернем элементе <Value> элемента <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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    Поскольку секрет явно указан в дочернем элементе <Value> элемента <SecretKey> правила Generate JWT, вы получите ошибку:

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

Разрешение

Убедитесь, что значение всегда указывается как переменная потока в дочернем элементе <Value> элементов <PrivateKey> или <SecretKey>.

Чтобы исправить пример политики Generate JWT, приведенный выше, используйте переменную потока private.secretkey в атрибуте ref дочернего элемента <Value> элемента <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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidTimeFormat

Сообщение об ошибке

Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если значение, указанное в элементе <NotBefore>, не соответствует ни одному из поддерживаемых форматов:

sortable, RFC 1123, RFC 850, ANCI-C

Например, если в параметре <NotBefore> указано значение 20-JUN-1990 08:03, которое не поддерживается, возникает эта ошибка.

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

диагностика;

  1. Определите название правила "Создать токен JSON" и название элемента с недопустимым форматом времени из сообщения об ошибке. Например, в приведенном ниже сообщении об ошибке название правила "Создать токен JWT" – JWT-Generate-HS256, а название элемента – NotBefore.

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. Проверьте XML-код политики Generate JWT и убедитесь, что формат времени, используемый в элементе, определенном на шаге 1, соответствует требованиям. Если элемент не использует ни один из поддерживаемых форматов:

    sortable, RFC 1123, RFC 850, ANCI-C

    то это и есть причина ошибки.

    Например, в приведенных ниже правилах показано, что дочерний элемент <NotBefore> использует неподдерживаемый формат времени:

    <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-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    Поскольку элемент <NotBefore> правила Generate JWT не использует ни один из поддерживаемых форматов времени, вы получите ошибку:

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

Разрешение

Убедитесь, что значение, указанное в элементе <NotBefore>, соответствует одному из поддерживаемых форматов:

sortable, RFC 1123, RFC 850, ANCI-C

Чтобы исправить пример правила Generate JWT, измените дату в элементе <NotBefore>, используя формат sortable, как показано ниже:

<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-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>