Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
InvalidNameForAdditionalClaim
Сообщение об ошибке
Развертывание прокси-сервера 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>, является одним из следующих зарегистрированных названий:
"kid", "iss", "sub", "aud", "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-файле неудачной политики Verify 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>используется одно из следующих зарегистрированных названий утверждений:"kid", "iss", "sub", "aud", "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>.
Чтобы исправить проблему с примером правила Verify 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>
InvalidTypeForAdditionalClaim
Сообщение об ошибке
Развертывание прокси-сервера 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-файле неудачной политики Verify 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то это и есть причина ошибки.
В примере выше тип
<Claim>указан какintegerв элементе<AdditionalClaims>. Поскольку типintegerне поддерживается, вы получите сообщение об ошибке:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Разрешение
Убедитесь, что в дочернем элементе <Claim> элемента <AdditionalClaims> используются только поддерживаемые типы данных: string (по умолчанию), number, boolean или map.
Чтобы исправить пример правила Verify 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>.
Чтобы исправить пример правила Verify 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>
InvalidNameForAdditionalHeader
Сообщение об ошибке
Развертывание прокси-сервера 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>
InvalidTypeForAdditionalHeader
Сообщение об ошибке
Развертывание прокси-сервера 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-файле неудачной политики Verify 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.
Чтобы исправить пример правила Verify 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>
InvalidValueOfArrayAttribute
Сообщение об ошибке
Развертывание прокси-сервера 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).
Разрешение
Убедитесь, что атрибуту array в дочернем элементе <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>
InvalidValueForElement
Сообщение об ошибке
Развертывание прокси-сервера 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
Например, если в элементе <Algorithm> указать значение алгоритма RS128, возникнет ошибка.
диагностика;
Определите название политики Verify JWT и название элемента из сообщения об ошибке. Например, в следующем сообщении об ошибке название правила Verify JWT –
JWT-Verify-RS256, а название элемента –Algorithm:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).Проверьте XML-код правила Verify JWT и значение элемента
<Algorithm>.Ниже приведен пример правила Verify 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 Family.
<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>
MissingConfigurationElement
Сообщение об ошибке
Развертывание прокси-сервера 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 Family в правиле 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, а вместо параметраAlgorithmиспользуется параметрRS256:<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>
InvalidKeyConfiguration
Сообщение об ошибке
Развертывание прокси-сервера 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>
EmptyElementForKeyConfiguration
Сообщение об ошибке
Развертывание прокси-сервера 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>
InvalidConfigurationForVerify
Сообщение об ошибке
Развертывание прокси-сервера 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>
InvalidEmptyElement
Сообщение об ошибке
Развертывание прокси-сервера 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>
InvalidPublicKeyValue
Сообщение об ошибке
Развертывание прокси-сервера 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.
Например, если в качестве значения дочернего элемента <JWKS> под элементом <PublicKey> используется abc, возникнет ошибка.
диагностика;
Определите название правила 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).
Чтобы исправить пример правила Verify 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>
InvalidConfigurationForActionAndAlgorithm
Сообщение об ошибке
Развертывание прокси-сервера 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 Family приводит к этой ошибке.
диагностика;
Определите название политики 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-файле неудачной политики Verify 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>, то это и является причиной ошибки.В примере выше элемент
<PublicKey>используется в правиле Verify JWT, хотя для элемента<Algorithm>задан алгоритм семейства HS256. В результате возникает ошибка:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Разрешение
Убедитесь, что элемент <PublicKey> используется только с алгоритмами адаптивных поисковых объявлений для всей семьи, а элемент <SecretKey> – только с алгоритмами объявлений для всей семьи в верхней части страницы.
Чтобы исправить пример правила 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>