Вы просматриваете документацию 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> приведет к этой ошибке.
Диагностика
Определите имя политики создания JWT и имя утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке имя «Создать политику JWT» —
JWT-Generate-HS256, а имя утверждения —iss:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).Убедитесь, что имя утверждения, используемое в элементе
<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>Если имя утверждения, используемое в дочернем элементе
<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> приведет к ошибке.
Диагностика
Определите имя политики создания JWT, имя и тип утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» —
JWT-Generate-HS256, имя утверждения —claim, а тип утверждения —integer:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).Убедитесь, что имя и тип утверждения, используемые в элементе
<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>Если тип утверждения, используемый в дочернем элементе
<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> .
Диагностика
Определите имя политики создания JWT из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» —
JWT-Generate-HS256:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in ClaimИзучите неудачный 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> приведет к ошибке.
Диагностика
Определите имя политики создания JWT и имя заголовка из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» —
JWT-Generate-HS256, а имя заголовка —alg:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).Убедитесь, что имя заголовка, используемое в дочернем элементе
<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>Если имя заголовка, используемое в дочернем элементе
<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> приведет к ошибке.
Диагностика
Определите имя политики создания JWT, имя и тип утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» —
JWT-Generate-HS256, имя утверждения —claim,а тип утверждения —integer:Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).Убедитесь, что имя и тип утверждения, используемые в элементе
<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>Если тип утверждения, используемый в дочернем элементе
<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> приводит к ошибке.
Диагностика
Определите имя политики создания JWT и имя утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» —
JWT-Generate-HS256, а имя утверждения — «claim:Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).Убедитесь, что имя утверждения, используемое в дочернем элементе
<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>Если для значения атрибута
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 приводит к этой ошибке.
Диагностика
Определите имя политики создания 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).Убедитесь, что элемент и семейство алгоритмов, используемые в неудачном 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>Если значение элемента
<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> приводит к этой ошибке.
Диагностика
Определите имя политики «Создать JWT» и имя элемента из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики «Создать JWT» —
JWT-Generate-HS256, а имя элемента —Algorithm.Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).Изучите неудачный 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>Проверьте значение, указанное в элементе
<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 приводит к этой ошибке.
Диагностика
Определите имя политики «Создать JWT» и имя отсутствующего элемента в сообщении об ошибке. Например, в следующем сообщении об ошибке имя политики Generate JWT —
JWT-Generate-HS256а имя отсутствующего элемента —SecretKey.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).Изучите неудачный XML-код «Создать политику 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>В примере политики «Создать 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 RevisionInvalid Key configuration : policy(policy_name).
Пример сообщения об ошибке
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

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