Вы просматриваете документацию по 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>, возникнет ошибка.
диагностика;
Определите название правила Generate JWT (Создать JWT) и название утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке название правила Generate JWT –
JWT-Generate-HS256, а название утверждения –iss:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).Убедитесь, что название утверждения, используемое в элементе
<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>Если в дочернем элементе
<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>, возникнет ошибка.
диагностика;
Определите название правила Generate JWT, название утверждения и тип заявки по сообщению об ошибке. Например, в приведенном ниже сообщении об ошибке название правила Generate JWT –
JWT-Generate-HS256, название утверждения –claim, а тип утверждения –integer:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).Убедитесь, что имя и тип утверждения, используемые в элементе
<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>Если тип заявки, используемый в дочернем элементе
<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>.
диагностика;
Определите название правила 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Проверьте 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>, возникнет ошибка.
диагностика;
Определите название правила Generate JWT и название заголовка из сообщения об ошибке. Например, в следующем сообщении об ошибке название правила Generate JWT –
JWT-Generate-HS256, а название заголовка –alg:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).Убедитесь, что название заголовка, используемое в дочернем элементе
<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>Если в дочернем элементе
<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>, возникнет ошибка.
диагностика;
Определите название правила Generate JWT, название утверждения и тип заявки по сообщению об ошибке. Например, в следующем сообщении об ошибке название правила Generate JWT –
JWT-Generate-HS256, название утверждения –claim,, а тип утверждения –integer:.Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).Убедитесь, что название и тип утверждения, используемые в элементе
<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>Если тип заявки, используемый в дочернем элементе
<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>.
диагностика;
Определите название правила Generate JWT (Создать JWT) и название утверждения из сообщения об ошибке. Например, в приведенном ниже сообщении об ошибке название правила Generate JWT –
JWT-Generate-HS256, а название утверждения –claim:.Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).Убедитесь, что название утверждения, используемое в дочернем элементе
<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>Если значение атрибута
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 приводит к этой ошибке.
диагностика;
Определите название правила 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).Убедитесь, что элемент и семейство алгоритмов, используемые в 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>Если значение элемента
<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, возникнет ошибка.
диагностика;
Определите название правила Generate JWT и название элемента из сообщения об ошибке. Например, в следующем сообщении об ошибке название правила Generate JWT –
JWT-Generate-HS256, а название элемента –Algorithm..Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).Проверьте 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>Проверьте значение, указанное в элементе
<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.
диагностика;
Определите название правила "Создать токен JWT" и название отсутствующего элемента по сообщению об ошибке. Например, в приведенном ниже сообщении об ошибке название правила Generate JWT –
JWT-Generate-HS256, а название отсутствующего элемента –SecretKey.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).Проверьте 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 RevisionInvalid Key configuration : policy(policy_name).
Пример сообщения об ошибке
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
Пример скриншота
В интерфейсе Edge появится диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если обязательный дочерний элемент <Value> не определен в элементах <PrivateKey> или <SecretKey> в правиле Generate JWT.
диагностика;
Определите название правила Generate JWT (Создать JWT) по сообщению об ошибке. Например, в приведенном ниже сообщении об ошибке название правила Generate JWT –
JWT-Generate-HS256.Invalid Key configuration : policy(JWT-Generate-HS256).Проверьте 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> пуст, возникает ошибка.
диагностика;
Определите название правила Generate JWT (Создать JWT) и название пустого элемента из сообщения об ошибке. Например, в приведенном ниже сообщении об ошибке название правила Generate JWT –
JWT-Generate-HS256, а название пустого элемента –SecretKey/Value.Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).Проверьте 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, возникает эта ошибка.
диагностика;
Определите название правила Generate JWT и название элемента с недопустимым названием переменной из сообщения об ошибке. Например, в приведенном ниже сообщении об ошибке название правила "Создать токен JWT" –
JWT-Generate-HS256, а название элемента –SecretKey/Value.Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).Проверьте 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>, то возникает эта ошибка.
диагностика;
Определите название правила Generate JWT и название элемента, в котором секрет указан явным образом, на основе сообщения об ошибке. Например, в приведенном ниже сообщении об ошибке название правила "Создать токен JWT" –
JWT-Generate-HS256, а название элемента –SecretKey/Value.Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).Проверьте 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>
диагностика;
Определите название правила "Создать токен JSON" и название элемента с недопустимым форматом времени из сообщения об ошибке. Например, в приведенном ниже сообщении об ошибке название правила "Создать токен JWT" –
JWT-Generate-HS256, а название элемента –NotBefore.Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).Проверьте 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>