Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Инвалиднамефордополнительный запрос
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:
Error Saving Revision revision_number Invalid name for additional claim : policy(policy_name) claim(claim_name).
Пример сообщения об ошибке
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если имя утверждения, используемое в дочернем элементе <Claim> элемента <AdditionalClaims> , является одним из следующих зарегистрированных имен:
«малыш», «iss», «sub», «audi», «iat», «exp», «nbf», «jti»
Зарегистрированные утверждения указаны в RFC7519 .
Например, использование имени утверждения iss в элементе <AdditionalClaims> приведет к этой ошибке.
Диагностика
Определите имя политики Verify JWT и имя утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, а имя утверждения —iss:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).Убедитесь, что имя утверждения, используемое в элементе
<AdditionalClaims>в неудачном XML-коде политики JWT, соответствует имени утверждения, указанному в сообщении об ошибке на шаге 1. Например, следующая политика определяет утверждение какiss, что соответствует тому, что указано в ошибке. сообщение:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>Если имя утверждения, используемое в дочернем элементе
<Claim>элемента<AdditionalClaims>, является одним из следующих зарегистрированных имен:«малыш», «iss», «sub», «audi», «iat», «exp», «nbf», «jti»
тогда это причина ошибки.
В примере политики Verify JWT, показанном выше, имя
<Claim>указано какissв элементе<AdditionalClaims>, что приводит к ошибке:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Разрешение
Не используйте зарегистрированные имена «kid», «iss», «sub», «aud», «iat», «exp», «nbf» или «jti» в дочернем элементе <Claim> <AdditionalClaims> элемент.
Чтобы исправить проблему с примером проверки политики JWT, измените имя утверждения на status :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
Инвалидтипефораддитиалклаим
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:
Error Saving Revision revision_number 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-Verify-RS256) claim(claim) type(integer).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Тип утверждения, используемого в дочернем элементе <Claim> элемента <AdditionalClaims> политики VerifyJWT, не является одним из следующих типов:
string (по умолчанию), number , boolean или map
Например, использование integer типа утверждения в элементе <AdditionalClaims> приведет к ошибке.
Диагностика
Определите имя политики Verify JWT, имя утверждения и тип из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, имя утверждения —claim, а тип —integer:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).Убедитесь, что имя и тип утверждения, используемые в элементе
<AdditionalClaims>в неудавшемся XML-коде политики JWT, соответствуют имени и типу утверждения, указанным в сообщении об ошибке на шаге 1. Например, следующая политика определяет утверждение какclaim, а введитеinteger, которое соответствует сообщению об ошибке:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>Если тип утверждения, используемый в дочернем элементе
<Claim>элемента<AdditionalClaims>, не является одним из следующих типов:string(по умолчанию),number,booleanилиmapтогда это причина ошибки.
В примере политики Verify JWT, показанном выше, тип
<Claim>указан какintegerв элементе<AdditionalClaims>. Посколькуintegerне является поддерживаемым типом, вы получаете сообщение об ошибке:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Разрешение
Убедитесь, что в дочернем элементе <Claim> элемента <AdditionalClaims> используются только поддерживаемые типы данных: string (по умолчанию), number , boolean или map .
Чтобы исправить пример проверки политики JWT, измените тип утверждения на boolean :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
MissingNameForAdditionalClaim
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:
Error Saving Revision revision_number 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-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если имя утверждения не указано в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders> .
Диагностика
Определите имя политики Verify JWT из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in ClaimИзучите неудачный XML-код политики Verify JWT и убедитесь, что имя утверждения отсутствует в дочернем элементе
<Claims>в элементе<AdditionalClaims>или<AdditionalHeaders>. Например, следующая политика Verify JWT не указывает имя утверждения в элементе<AdditionalClaims>:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>Поскольку имя
<Claim>не указано в элементе<AdditionalClaims>, вы получаете ошибку:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Разрешение
Убедитесь, что имя утверждения всегда указано в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders> .
Чтобы исправить пример проверки политики JWT, укажите имя утверждения, как показано ниже:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
Инвалиднамефордополнительный заголовок
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:
Error Saving Revision revision_number Invalid name for additional header : policy(policy_name)header(header_name).
Пример сообщения об ошибке
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если имя утверждения, используемое в дочернем элементе <Claim> элемента <AdditionalHeaders> , является одним из следующих стандартных заголовков JWT:
alg или typ
Например, использование имени утверждения alg в элементе <AdditionalHeaders> приведет к ошибке.
Диагностика
Определите имя политики Verify JWT и имя заголовка из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, а имя заголовка —alg:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).Убедитесь, что имя заголовка, используемое в дочернем элементе
<Claim>в элементе<AdditionalHeaders>в неудачном XML-коде политики Verify JWT, соответствует имени заголовка, указанному в сообщении об ошибке на шаге 1. Например, следующая политика определяет заголовок какalg, что соответствует сообщению об ошибке:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>Если имя заголовка, используемое в дочернем элементе
<Claim>элемента<AdditionalClaims>, является одним из следующих стандартных заголовков JWT:algилиtypтогда это причина ошибки.
В примере политики Verify JWT, показанном выше, имя
<Claim>указано какalgв элементе<AdditionalClaims>, что приводит к ошибке:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Разрешение
Не используйте стандартные заголовки JWT alg не typ дочерний элемент <Claim> элемента <AdditionalHeaders> .
Чтобы исправить пример политики Verify JWT, используйте имя x5c в дочернем элементе <Claim> элемента <AdditionalHeaders> :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
Инвалидтипефораддишеналхедер
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:
Error Saving Revision revision_number 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-Verify-RS256) claim(claim1) type(integer).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Ошибка возникнет, если тип утверждения, используемого в дочернем элементе <Claim> элемента <AdditionalHeaders> политики Verify JWT, не является одним из следующих типов:
string (по умолчанию), number , boolean или map
Например, использование integer типа утверждения в элементе <AdditionalHeaders> приведет к ошибке.
Диагностика
Определите имя политики Verify JWT, имя утверждения и тип из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, имя утвержденияclaim, а тип —integer:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).Убедитесь, что имя и тип утверждения, используемые в элементе
<AdditionalClaims>в неудавшемся XML-коде политики JWT, соответствуют имени и типу утверждения, указанным в сообщении об ошибке на шаге 1. Например, следующая политика определяет утверждение какclaim, а тип утверждения какinteger,что соответствует сообщению об ошибке:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>Если тип утверждения, используемый в дочернем элементе
<Claim>элемента<AdditionalHeaders>, не является одним из следующих типов:string(по умолчанию),number,booleanилиmapтогда это причина ошибки.
В примере политики Verify JWT, показанном выше, тип
<Claim>в элементе<AdditionalHeaders>указан какinteger. Посколькуintegerне является поддерживаемым типом, вы получаете сообщение об ошибке:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Разрешение
Убедитесь, что в дочернем элементе <Claim> элемента <AdditionalHeaders> используются только поддерживаемые типы данных: string , number , boolean или map .
Чтобы исправить пример проверки политики JWT, измените тип утверждения на boolean :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
Неверное значениеOfArrayAttribute
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:
Error Saving Revision revision_number Invalid value for array attribute: policy(policy_name)claim(claim_name).
Пример сообщения об ошибке
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если для значения атрибута массива в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders> не установлено значение true или false .
Например, установка значения yes для атрибута массива в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders> приводит к ошибке.
Диагностика
Определите имя политики Verify JWT и имя утверждения из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, а имя утвержденияclaim:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).Убедитесь, что имя утверждения, используемое в дочернем элементе
<Claim>в элементе<AdditionalHeaders>в неудавшемся XML-коде политики Verify JWT, соответствует имени утверждения, указанному в сообщении об ошибке на шаге 1. Например, следующая политика определяет имя утверждения какclaim, что соответствует сообщению об ошибке:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>Если для значения атрибута
arrayв дочернем элементе<Claim>элемента<AdditionalClaims>не установлено значениеtrueилиfalse, это и есть причина ошибки.Поскольку в приведенном выше примере для атрибута
arrayв дочернем элементе<Claim>элемента<AdditionalClaims>установлено значениеyes, вы получаете ошибку:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Разрешение
Убедитесь, что для значения атрибута массива в дочернем элементе <Claim> элементов <AdditionalClaims> или <AdditionalHeaders> установлено значение true или false .
Чтобы исправить приведенный выше пример политики Verify JWT, измените значение атрибута массива на true :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
Инвалидвалуефорэлемент
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если значение, указанное в элементе <Algorithm> , не является одним из следующих значений:
HS256 , HS384 , HS512 , RS256 , RS384 , RS512
Например, указание значения алгоритма как RS128 в элементе <Algorithm> приводит к этой ошибке.
Диагностика
Определите имя политики Verify JWT и имя элемента из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, а имя элемента —Algorithm:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).Изучите неудачный XML-код политики Verify JWT и проверьте значение, указанное для элемента
<Algorithm>.Вот пример политики проверки JWT:
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS128</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> </VerifyJWT>Проверьте значение, указанное в элементе
<Algorithm>. Если это не одно из следующих значений:HS256,HS384,HS512,RS256,RS384,RS512тогда это причина ошибки.
В примере политики Verify JWT, показанном выше, имя
<Algorithm>указано какHS128. Поскольку этот алгоритм не поддерживается, вы получаете сообщение об ошибке:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Разрешение
Убедитесь, что значение, указанное в элементе <Algorithm> , является одним из поддерживаемых значений:
HS256 , HS384 , HS512 , RS256 , RS384 , RS512
Чтобы исправить приведенный выше пример политики Verify JWT, в которой используется элемент <SecretKey> , измените значение <Algorithm> на HS25 . Обратите внимание: при использовании элемента <SecretKey> можно использовать только алгоритмы семейства HS.
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
Отсутствует элемент конфигурации
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается неудачно с этим сообщением об ошибке:
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, когда элемент <PublicKey> не используется с алгоритмами семейства RSA в политике Verify JWT. Аналогично, ошибка может возникнуть, если элемент <SecretKey> не используется с алгоритмами семейства HS в политике Verify JWT.
Например, отсутствие использования элемента <PublicKey> с алгоритмами семейства RSA приводит к этой ошибке.
Диагностика
Определите имя политики Verify JWT и имя отсутствующего элемента в сообщении об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, а имя отсутствующего элемента —PublicKey:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).Изучите неудачный XML-код политики Verify JWT и убедитесь, что элемент, указанный в сообщении об ошибке, отсутствует. Если он отсутствует, то это и есть причина ошибки.
Например, следующая политика показывает, что
PublicKeyотсутствует и используетсяAlgorithmRS256:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>В примере политики Verify JWT используются алгоритмы семейства HS, но отсутствует обязательный элемент
PublicKey, что приводит к ошибке:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Разрешение
Убедитесь, что обязательный элемент <PublicKey> используется с алгоритмами семейства RSA, а обязательный элемент <SecretKey> используется с алгоритмами семейства HS.
Чтобы исправить показанный выше пример политики Verify JWT, в котором используется алгоритм RS256, добавьте элемент <PublicKey> в политику VerifyJWT:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Algorithm>RS256</Algorithm>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<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>
</VerifyJWT>
ИнвалидКейКонфигурация
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Пример сообщения об ошибке
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если дочерний элемент <Value> или обязательный дочерний элемент <JWKS> не определен в элементах <PublicKey> или <SecretKey> политики Verify JWT.
Диагностика
Определите имя политики Verify JWT из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256:Invalid Key configuration : policy(JWT-Verify-RS256).Изучите неудачный XML-код политики Verify JWT и проверьте, не определен ли дочерний элемент
<Value>или дочерний элемент<JWKS>в элементах<PublicKey>или<SecretKey>. Если дочерний элемент не определен, это причина ошибки.Например, следующая политика показывает, что дочерний элемент
<Value>или<JWKS>не определен в элементе<PublicKey>:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> </PublicKey> <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> </VerifyJWT>Поскольку дочерний элемент
<Value>или<JWKS>не определен в элементе<PublicKey>политики Verify JWT, вы получаете сообщение об ошибке:Invalid Key configuration : policy(JWT-Verify-RS256).
Разрешение
Убедитесь, что дочерний элемент <Value> или <JWKS> всегда определен в элементе <PublicKey> политики Verify JWT.
Чтобы исправить пример политики Verify JWT, определите дочерний элемент <Value> или <JWKS> в элементе <PublicKey> , как показано ниже:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<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>
</PublicJWT>
ПустойЭлементФорКиКонфигурация
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается неудачно с этим сообщением об ошибке:
Error Saving Revision revision_number Empty Element for Key Configuration : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если атрибут ref в дочернем элементе <Value> или <JWKS> элемента <PublicKey> не указан или пуст.
Например, если дочерний элемент <Value> элемента <PublicKey> пуст, возникает ошибка.
Диагностика
Определите имя политики Verify JWT и имя элемента, которое пусто в сообщении об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, а имя элемента —PublicKey/Value:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).Изучите неудачный XML-код политики Verify JWT и убедитесь, что элемент, указанный на шаге 1, пуст. Если он пуст, то это и есть причина ошибки.
Например, следующая политика показывает, что дочерний элемент
<Value>элемента<PublicKey>пуст:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> <Value/> </PublicKey> <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> </VerifyJWT>Поскольку дочерний элемент
<Value>элемента<PublicKey>политики Verify JWT пуст, вы получаете сообщение об ошибке:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Разрешение
Убедитесь, что атрибут ref в дочернем элементе <Value> или <JWKS> элемента <PublicKey> всегда указан.
Чтобы исправить пример политики Verify JWT, используйте переменную потока public.publickey в дочернем элементе <Value> элемента <PublicKey> :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<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>
</VerifyJWT>
Инвалидконфигуратионфорверифи
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если элемент <Id> определен в элементе <SecretKey> политики VerifyJWT.
Например, если элемент <Id> определен в элементе <SecretKey> , возникает эта ошибка.
Диагностика
Определите имя политики Verify JWT и недопустимое имя элемента из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, а имя элемента —SecretKey/Id:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)Изучите неудачный XML-код политики Verify JWT и убедитесь, что определен недопустимый элемент, указанный на шаге 1. Если он определен, то это и есть причина ошибки.
Например, следующая политика показывает, что определен дочерний элемент
<Id>элемента<SecretKey>:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="private.secretkey"/> <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> </VerifyJWT>Поскольку элемент
<Id>определен в элементе<SecretKey>политики Verify JWT, вы получаете сообщение об ошибке:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Разрешение
Убедитесь, что элемент <Id> никогда не определен в элементе <SecretKey> политики Verify JWT.
Чтобы исправить пример политики Verify JWT, удалите дочерний элемент <Id> из элемента <SecretKey> :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
Инвалидпустойэлемент
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если элемент <Source> политики Verify JWT пуст. Если он присутствует, он должен быть определен с именем переменной потока Edge.
Диагностика
Определите имя политики Verify JWT и имя пустого элемента из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, а имя элемента —PublicKey/Value:Invalid empty element : policy(JWT-Verify-HS256) element(Source).Изучите неудачный XML-код политики Verify JWT и убедитесь, что элемент, указанный на шаге 1, пуст. Если он пуст, то это и есть причина ошибки.
Например, следующая политика показывает, что элемент
<Source>пуст:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Source></Source> <PublicKey> <Value ref="public.publickey"/> </PublicKey> <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> </VerifyJWT>Поскольку элемент
<Source>политики Verify JWT пуст, вы получаете сообщение об ошибке:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Разрешение
Если элемент <Source> политики Verify JWT присутствует, убедитесь, что он указывает переменную потока.
Чтобы исправить пример политики Verify JWT, используйте допустимую переменную потока в элементе <Source> :
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>jwt-variable</Source>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<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>
</VerifyJWT>
Неверное значение публичного ключа
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если значение, используемое в дочернем элементе <JWKS> элемента <PublicKey> , не имеет допустимого формата, указанного в RFC 7517 .
Например, использование abc в качестве значения дочернего элемента <JWKS> в элементе <PublicKey> приведет к этой ошибке.
Диагностика
Определите имя политики Verify JWT и имя элемента, содержащего недопустимое значение, из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-RS256, а элемент —PublicKey/JWKS:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).Изучите неудачный XML-код политики Verify JWT и убедитесь, что элемент, указанный на шаге 1, содержит значение в допустимом формате согласно RFC 7517 . Если значение элемента имеет недопустимый формат, это и есть причина ошибки.
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PublicKey> <JWKS>abc<JWKS> </PublicKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> </VerifyJWT>Поскольку значение в дочернем элементе
<JWKS>элемента<PublicKey>имеет недопустимый формат согласно RFC 7517 , вы получаете сообщение об ошибке:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Разрешение
Убедитесь, что значение, указанное в дочернем элементе <JWKS> элемента <PublicKey> , является допустимой строкой или переменной потока в допустимом формате JWKS ( RFC 7517 ).
Чтобы исправить пример проверки политики JWT, измените значение <JWKS> , как показано ниже:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<JWKS>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM</JWKS>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
</VerifyJWT>
Инвалидконфигуратионфорактионандалгоритм
Сообщение об ошибке
Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:
Error Saving Revision <var>revision_number</var>
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
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если элемент <PublicKey> используется с алгоритмами семейства HS, а элемент <SecretKey> используется с алгоритмами семейства RSA. Ошибка также возникнет, если любое из этих условий истинно.
Например, использование элемента <PublicKey> с алгоритмами семейства HS приводит к этой ошибке.
Диагностика
Определите имя политики Verify JWT, имя элемента и имя семейства алгоритмов из сообщения об ошибке. Например, в следующем сообщении об ошибке имя политики Verify JWT —
JWT-Verify-HS256, имя элемента —PublicKey, а семейство алгоритмов —RSA:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).Убедитесь, что элемент и семейство алгоритмов, использованные в сбойном XML-файле политики JWT, соответствуют элементу и семейству алгоритмов, указанным в сообщении об ошибке на шаге 1. Например, в следующей политике элемент указан как
PublicKey, а семейство алгоритмов — какHMAC. что соответствует тому, что в сообщении об ошибке<VerifyJWT name="JWT-Verify-HS256"> <DisplayName>JWT Verify HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request.formparam.jwt</Source> <PublicKey> <Value ref="var-value"/> </PublicKey> <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> </VerifyJWT>Если значение элемента
<Algorithm>—HS256, но вы использовали<PublicKey>, то это и есть причина ошибки.В примере политики Verify JWT, показанном выше, элемент
<PublicKey>используется, хотя для<Algorithm>установлен алгоритм семейства HS256, что приводит к ошибке:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Разрешение
Убедитесь, что элемент <PublicKey> используется только с алгоритмами семейства RSA, а элемент <SecretKey> используется только с алгоритмами семейства HS.
Чтобы исправить пример политики Verify JWT, используйте <SecretKey> из политики VerifyJWT, которая использует алгоритм HS256:
<VerifyJWT name="JWT-Verify-HS256">
<DisplayName>JWT Verify HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>request.formparam.jwt</Source>
<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>
</VerifyJWT>