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

Причина
Эта ошибка возникает, если имя утверждения, используемого в дочернем элементе <Claim> элемента <AdditionalClaims> , совпадает с одним из следующих зарегистрированных имен:
«малыш», «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>
InvalidTypeForAdditionalClaim
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision 2 Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
Пример сообщения об ошибке
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если тип утверждения, используемого в дочернем элементе <Claim> элемента <AdditionalClaims> политики GenerateJWT, не относится к одному из следующих типов:
string (по умолчанию), number , boolean или map
Например, использование типа утверждения integer в элементе <AdditionalClaims> приведет к ошибке.
Диагноз
В сообщении об ошибке необходимо определить имя политики генерации 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>. Например, в следующей политике генерации 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>
InvalidNameForAdditionalHeader
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision 2 Invalid name for additional header : policy(policy_name)header(header_name).
Пример сообщения об ошибке
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если имя утверждения, используемого в дочернем элементе <Claim> элемента <AdditionalHeaders> , совпадает с одним из следующих стандартных заголовков JWT:
alg или typ
Например, использование имени утверждения alg в элементе <AdditionalHeaders> вызовет ошибку.
Диагноз
Найдите в сообщении об ошибке имя политики генерации 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).
Разрешение
Не используйте стандартные alg или typ заголовков JWT в дочернем элементе <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>
InvalidValueOfArrayAttribute
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision 2 Invalid value for array attribute: policy(policy_name)claim(claim_name).
Пример сообщения об ошибке
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если значение атрибута array в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders> не установлено в true или false .
Например, установка значения атрибута array как 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).
Разрешение
Убедитесь, что значение атрибута array в дочернем элементе <Claim> элементов <AdditionalClaims> или <AdditionalHeaders> установлено на true или false .
Чтобы исправить приведенный выше пример генерации политики JWT, измените значение атрибута array на true :
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidConfigurationForActionAndAlgorithm
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision 2
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).
Пример сообщения об ошибке
Error Saving Revision 2 Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если элемент <PrivateKey> используется с алгоритмами семейства HS, а элемент <SecretKey> — с алгоритмами семейства RSA. Ошибка также возникнет, если выполняется хотя бы одно из этих условий.
Например, использование элемента <PrivateKey> с алгоритмами семейства HS приводит к этой ошибке.
Диагноз
В сообщении об ошибке укажите имя политики генерации 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.
Чтобы исправить приведенный выше пример политики генерации JWT, используйте <SecretKey> из политики генерации JWT, использующей алгоритм HS256:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueForElement
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision 2 Invalid Value for element : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если значение, указанное в элементе <Algorithm> , не является одним из следующих значений:
HS256 , HS384 , HS512 , RS256 , RS384 , RS512
Например, указание значения алгоритма 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>
MissingConfigurationElement
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision 2 Missing configuration element : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если элемент <PrivateKey> не используется с алгоритмами семейства RSA в политике генерации JWT. Аналогично, ошибка может возникнуть, если элемент <SecretKey> не используется с алгоритмами семейства HS в политике генерации JWT.
Например, отсутствие элемента <PrivateKey> при работе с алгоритмами семейства RSA приводит к этой ошибке.
Диагноз
Найдите в сообщении об ошибке имя политики генерации JWT и имя отсутствующего элемента. Например, в следующем сообщении об ошибке имя политики генерации JWT —
JWT-Generate-HS256, а имя отсутствующего элемента —SecretKey.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).Проанализируйте XML-файл политики генерации JWT, который завершился с ошибкой, и убедитесь, что указанный в сообщении об ошибке элемент отсутствует. Если он отсутствует, то это и является причиной ошибки.
Например, в следующей политике отсутствует
SecretKey, а используетсяAlgorithmHS256:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>В примере генерации политики JWT используются алгоритмы семейства HS, но отсутствует обязательный элемент
SecretKey, что приводит к ошибке:Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Разрешение
Убедитесь, что обязательный элемент <PrivateKey> используется с алгоритмами семейства RSA, а обязательный элемент <SecretKey> — с алгоритмами семейства HS.
Чтобы исправить приведенный выше пример политики генерации JWT, использующий алгоритм HS256 , добавьте элемент <SecretKey> в политику генерации JWT:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidKeyConfiguration
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Пример сообщения об ошибке
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если обязательный дочерний элемент <Value> не определен в элементах <PrivateKey> или <SecretKey> в политике генерации 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>политики Generate 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>
EmptyElementForKeyConfiguration
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision 2 Empty Element for Key Configuration : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если атрибут ref в дочернем элементе <Value> элементов <PrivateKey> или <SecretKey> не указан или пуст.
Например, если дочерний элемент <Value> элемента <SecretKey> пуст, то возникает ошибка.
Диагноз
Найдите в сообщении об ошибке имя политики генерации JWT и имя пустого элемента. Например, в следующем сообщении об ошибке имя политики генерации 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>
InvalidVariableNameForSecret
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision 2 Invalid variable name for secret : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если имя переменной потока, указанное в атрибуте ref в дочернем элементе <Value> элементов <PrivateKey> или <SecretKey> , не содержит префикс private ( private. ).
Например :
Если имя переменной потока указано как mykey в атрибуте ref дочернего элемента <Value> элемента <PrivateKey> , то возникает эта ошибка.
Диагноз
Найдите в сообщении об ошибке имя политики генерации JWT и имя элемента с недопустимым именем переменной. Например, в следующем сообщении об ошибке имя политики генерации 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>политики Generate 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>
InvalidSecretInConfig
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision 2 Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если значение (секрет) указано явно в:
- Дочерние элементы
<Value>или<Password>элемента<PrivateKey>или - Дочерний элемент
<Value>элемента<SecretKey>
в политике генерации JWT.
Например, если секретный ключ явно указан как abc в дочернем элементе <Value> элемента <SecretKey> , то возникает эта ошибка.
Диагноз
В сообщении об ошибке укажите имя политики генерации JWT и имя элемента, в котором явно указан секрет. Например, в следующем сообщении об ошибке имя политики генерации 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>
InvalidTimeFormat
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision 2 Invalid Time format: policy(policy_name) element(element_name).
Пример сообщения об ошибке
Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
Пример скриншота
В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина
Эта ошибка возникает, если значение, указанное в элементе <NotBefore> не входит в число поддерживаемых форматов:
sortable , RFC 1123 , RFC 850 , ANCI-C
Например, если значение, указанное в <NotBefore> равно 20-JUN-1990 08:03 , что не является поддерживаемым форматом, то возникает эта ошибка.
<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
Диагноз
Найдите в сообщении об ошибке имя политики генерации 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>политики Generate 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>