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

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

Инвалиднамефордополнительный запрос

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

Развертывание прокси-сервера 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> , является одним из следующих зарегистрированных имен:

«малыш», «iss», «sub», «audi», «iat», «exp», «nbf», «jti»

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

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

Диагностика

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

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

    «малыш», «iss», «sub», «audi», «iat», «exp», «nbf», «jti»

    тогда это причина ошибки.

    В приведенном выше примере создания политики 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> элемент.

Чтобы исправить приведенный выше пример создания политики 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>

Инвалидтипефораддитиалклаим

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

Развертывание прокси-сервера 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. Определите имя политики создания JWT, имя и тип утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» — JWT-Generate-HS256 , имя утверждения — claim , а тип утверждения — integer :

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. Убедитесь, что имя и тип утверждения, используемые в элементе <AdditionalClaims> в неудачном XML-коде «Создать политику 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

    тогда это причина ошибки.

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

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

Разрешение

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

Чтобы исправить приведенный выше пример создания политики 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. Определите имя политики создания JWT из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» — JWT-Generate-HS256 :

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. Изучите неудачный XML-файл политики создания 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> .

Чтобы исправить приведенный выше пример создания политики 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>

Инвалиднамефордополнительный заголовок

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

Развертывание прокси-сервера 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. Определите имя политики создания JWT и имя заголовка из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» — JWT-Generate-HS256 , а имя заголовка — alg :

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

    тогда это причина ошибки.

    В примере политики создания 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>

Инвалидтипефораддишеналхедер

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

Развертывание прокси-сервера 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. Определите имя политики создания JWT, имя и тип утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» — JWT-Generate-HS256 , имя утверждения — claim, а тип утверждения — integer:

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. Убедитесь, что имя и тип утверждения, используемые в элементе <AdditionalClaims> в неудачном XML-коде Создать политику 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

    тогда это причина ошибки.

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

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

Разрешение

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

Чтобы исправить приведенный выше пример создания политики 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>

Неверное значениеOfArrayAttribute

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

Развертывание прокси-сервера 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. Определите имя политики создания JWT и имя утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» — JWT-Generate-HS256 , а имя утверждения — « claim:

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    
  2. Убедитесь, что имя утверждения, используемое в дочернем элементе <Claim> в элементе <AdditionalHeaders> в неудачном XML-файле политики создания 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).
    

Разрешение

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

Чтобы исправить приведенный выше пример создания политики 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>

Инвалидконфигуратионфорактионандалгоритм

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

Развертывание прокси-сервера 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 приводит к этой ошибке.

Диагностика

  1. Определите имя политики создания JWT, имя элемента и имя семейства алгоритмов из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать 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-коде «Создать политику 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> , то это причина ошибки.

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

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

Разрешение

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

Чтобы исправить пример политики GenerateJWT, показанный выше, используйте <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>

Инвалидвалуефорэлемент

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

Развертывание прокси-сервера 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

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

Диагностика

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

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. Изучите неудачный XML-файл политики создания 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

    тогда это причина ошибки.

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

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

Разрешение

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

HS256 , HS384 , HS512 , RS256 , RS384 , RS512

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

Отсутствует элемент конфигурации

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

Развертывание прокси-сервера 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 в политике создания JWT. Аналогично, ошибка может возникнуть, если элемент <SecretKey> не используется с алгоритмами семейства HS в политике создания JWT.

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

Диагностика

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

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

    Например, в следующей политике SecretKey отсутствует, а используемый AlgorithmHS256 :

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

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

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

Разрешение

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

Чтобы исправить приведенный выше пример политики создания JWT, в котором используется алгоритм HS256 , добавьте элемент <SecretKey> в политику создания 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>

ИнвалидКейКонфигурация

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

Развертывание прокси-сервера 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> в политике создания JWT.

Диагностика

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

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. Изучите неудачный XML-файл политики создания 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> политики создания JWT, вы получаете сообщение об ошибке:

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

Разрешение

Убедитесь, что дочерний элемент <Value> всегда определен в элементах <PrivateKey> или <SecretKey> политики создания 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>

ПустойЭлементForKeyConfiguration

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

Развертывание прокси-сервера 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. Определите имя политики «Создать JWT» и имя пустого элемента из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Generate JWT — JWT-Generate-HS256 , а имя пустого элемента — SecretKey/Value .

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Изучите неудачный XML-код «Создать политику 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. ».

Чтобы исправить пример политики создания 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>

Инвалидимаблевариаблефорсекрет

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

Развертывание прокси-сервера 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. ).

Например :

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

Диагностика

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

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Изучите неудачный XML-код «Создать политику 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> политики создания JWT, не имеет префикса private. , вы получите ошибку:

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

Разрешение

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

Чтобы исправить пример политики создания 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>

Инвалидсекретинконфиг

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

Развертывание прокси-сервера 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> .

в политике «Создать JWT».

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

Диагностика

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

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Изучите неудачный XML-код «Создать политику 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> .

Чтобы исправить пример политики создания 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>

Инвалидтимеформат

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

Развертывание прокси-сервера 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. Определите имя политики «Создать JWT» и имя элемента, который имеет недопустимый формат времени, из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики создания JWT — JWT-Generate-HS256 , а имя элемента — NotBefore .

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. Изучите неудачный XML-файл политики «Создать 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> политики создания JWT не использует ни один из поддерживаемых форматов времени, вы получаете сообщение об ошибке:

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

Разрешение

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

sortable , RFC 1123 , RFC 850 , ANCI-C

Чтобы исправить пример «Создать политику 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>