Устранение ошибок при развертывании политики VerifyJWT

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

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> , совпадает с одним из следующих зарегистрированных имен:

«малыш», «iss», «sub», «audi», «iat», «exp», «nbf», «jti»

Зарегистрированные пункты формулы изобретения указаны в RFC7519 .

Например, использование имени утверждения iss в элементе <AdditionalClaims> приведет к этой ошибке.

Диагноз

  1. Найдите в сообщении об ошибке название политики и имя утверждения для проверки JWT. Например, в следующем сообщении об ошибке название политики проверки JWT — JWT-Verify-RS256 , а имя утверждения — iss :

    Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
    
  2. Убедитесь, что имя утверждения, используемое в элементе <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>
    
  3. Если имя утверждения, используемое в дочернем элементе <Claim> элемента <AdditionalClaims> , совпадает с одним из следующих зарегистрированных имен:

    «малыш», «iss», «sub», «audi», «iat», «exp», «nbf», «jti»

    Тогда это и есть причина ошибки.

    В приведенном выше примере политики проверки 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>

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> приведет к ошибке.

Диагноз

  1. В сообщении об ошибке укажите название политики проверки JWT, имя утверждения и тип. Например, в следующем сообщении об ошибке название политики проверки JWT — JWT-Verify-RS256 , имя утверждения — claim , а тип — integer:

    Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
    
  2. Убедитесь, что имя утверждения и тип, используемые в элементе <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>
    
  3. Если тип утверждения, используемый в дочернем элементе <Claim> элемента <AdditionalClaims> , не относится к одному из следующих типов:

    string (по умолчанию), number , boolean или map

    Тогда это и есть причина ошибки.

    В приведенном выше примере политики проверки 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> .

Диагноз

  1. Найдите название политики проверки JWT в сообщении об ошибке. Например, в следующем сообщении об ошибке название политики проверки JWT — JWT-Verify-RS256 :

    Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. Изучите XML-файл политики проверки JWT, в котором произошел сбой, и убедитесь, что имя утверждения отсутствует в дочернем элементе <Claims> под элементом <AdditionalClaims> или <AdditionalHeaders> . Например, в следующей политике проверки 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>

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> вызовет ошибку.

Диагноз

  1. Найдите в сообщении об ошибке имя политики проверки JWT и имя заголовка. Например, в следующем сообщении об ошибке имя политики проверки JWT — JWT-Verify-RS256 , а имя заголовка — alg :

    Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
    
  2. Убедитесь, что имя заголовка, используемое в дочернем элементе <Claim> под элементом <AdditionalHeaders> в XML-файле политики проверки 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>
    
  3. Если имя заголовка, используемое в дочернем элементе <Claim> элемента <AdditionalClaims> , является одним из следующих стандартных заголовков JWT:

    alg или typ

    Тогда это и есть причина ошибки.

    В приведенном выше примере политики проверки JWT имя <Claim> указано как alg в элементе <AdditionalClaims> , что приводит к ошибке:

    Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
    

Разрешение

Не используйте стандартные alg или typ заголовков JWT в дочернем элементе <Claim> элемента <AdditionalHeaders> .

Чтобы исправить пример политики проверки 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> политики проверки JWT, не относится к одному из следующих типов:

string (по умолчанию), number , boolean или map

Например, использование типа утверждения integer в элементе <AdditionalHeaders> приведет к ошибке.

Диагноз

  1. В сообщении об ошибке укажите название политики проверки JWT, имя утверждения и тип. Например, в следующем сообщении об ошибке название политики проверки JWT — JWT-Verify-RS256 , имя утверждения — claim , а тип — integer :

    Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
    
  2. Убедитесь, что имя и тип утверждения, используемые в элементе <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>
    
  3. Если тип утверждения, используемый в дочернем элементе <Claim> элемента <AdditionalHeaders> , не относится к одному из следующих типов:

    string (по умолчанию), number , boolean или map

    Тогда это и есть причина ошибки.

    В приведенном выше примере политики проверки 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>

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 вы увидите диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если значение атрибута array в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders> не установлено в true или false .

Например, установка значения атрибута array как yes в дочернем элементе <Claim> элемента <AdditionalClaims> или <AdditionalHeaders> приводит к ошибке.

Диагноз

  1. Найдите в сообщении об ошибке название политики и имя утверждения для проверки JWT. Например, в следующем сообщении об ошибке название политики проверки JWT — JWT-Verify-RS256 , а имя утверждения — claim :

    Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
    
  2. Убедитесь, что имя утверждения, используемое в дочернем элементе <Claim> под элементом <AdditionalHeaders> в XML-файле политики проверки 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>
    
  3. Если значение атрибута 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 .

Чтобы исправить приведенный выше пример проверки политики 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

Например, указание значения алгоритма RS128 в элементе <Algorithm> приводит к этой ошибке.

Диагноз

  1. Найдите в сообщении об ошибке название политики проверки JWT и имя элемента. Например, в следующем сообщении об ошибке название политики проверки JWT — JWT-Verify-RS256 , а имя элемента — Algorithm :

    Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
    
  2. Изучите XML-файл политики проверки 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>
    
  3. Проверьте значение, указанное в элементе <Algorithm> . Если оно не совпадает с одним из следующих значений:

    HS256 , HS384 , HS512 , RS256 , RS384 , RS512

    Тогда это и есть причина ошибки.

    В приведенном выше примере политики проверки JWT имя <Algorithm> указано как HS128 . Поскольку это неподдерживаемый алгоритм, вы получите ошибку:

    Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
    

Разрешение

Убедитесь, что значение, указанное в элементе <Algorithm> , является одним из поддерживаемых значений:

HS256 , HS384 , HS512 , RS256 , RS384 , RS512

Чтобы исправить приведенный выше пример политики проверки 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>

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 в политике проверки JWT. Аналогично, ошибка может возникнуть, если элемент <SecretKey> не используется с алгоритмами семейства HS в политике проверки JWT.

Например, отсутствие элемента <PublicKey> при работе с алгоритмами семейства RSA приводит к этой ошибке.

Диагноз

  1. Найдите в сообщении об ошибке название политики проверки JWT и имя отсутствующего элемента. Например, в следующем сообщении об ошибке название политики проверки JWT — JWT-Verify-RS256 , а имя отсутствующего элемента — PublicKey :

    Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
    
  2. Проверьте 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>
    

    В примере политики проверки JWT используются алгоритмы семейства HS, но отсутствует обязательный элемент PublicKey , что приводит к ошибке:

    Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
    

Разрешение

Убедитесь, что обязательный элемент <PublicKey> используется с алгоритмами семейства RSA, а обязательный элемент <SecretKey> — с алгоритмами семейства HS.

Чтобы исправить приведенный выше пример политики проверки 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 Revision 
Invalid Key configuration : policy(policy_name).

Пример сообщения об ошибке

Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).

Пример скриншота

В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если дочерний элемент <Value> или обязательный дочерний элемент <JWKS> не определен в элементах <PublicKey> или <SecretKey> политики проверки JWT.

Диагноз

  1. Найдите название политики проверки JWT в сообщении об ошибке. Например, в следующем сообщении об ошибке название политики проверки JWT — JWT-Verify-RS256 :

    Invalid Key configuration : policy(JWT-Verify-RS256).
    
    
  2. Изучите XML-файл политики проверки 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> политики проверки JWT, возникает ошибка:

    Invalid Key configuration : policy(JWT-Verify-RS256).
    

Разрешение

Убедитесь, что дочерний элемент <Value> или <JWKS> всегда определен в элементе <PublicKey> политики проверки JWT.

Чтобы исправить пример проверки политики 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> пуст, то возникает ошибка.

Диагноз

  1. Найдите в сообщении об ошибке пустое имя политики проверки JWT и имя элемента. Например, в следующем сообщении об ошибке имя политики проверки JWT — JWT-Verify-RS256 , а имя элемента — PublicKey/Value :

    Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
    
  2. Проверьте XML-файл политики проверки 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> политики проверки JWT пуст, возникает ошибка:

    Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
    
    

Разрешение

Убедитесь, что атрибут ref в дочернем элементе <Value> или <JWKS> элемента <PublicKey> всегда указан.

Чтобы исправить пример проверки политики 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> , возникает эта ошибка.

Диагноз

  1. Найдите в сообщении об ошибке имя политики проверки JWT и имя недопустимого элемента. Например, в следующем сообщении об ошибке имя политики проверки JWT — JWT-Verify-RS256 , а имя элемента — SecretKey/Id :

    Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
    
  2. Проверьте XML-файл политики проверки 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> политики проверки JWT, возникает ошибка:

    Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
    

Разрешение

Убедитесь, что элемент <Id> никогда не определяется внутри элемента <SecretKey> политики проверки JWT.

Чтобы исправить пример проверки политики 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 Revision 
Invalid empty element : policy(policy_name) element(element_name).

Пример сообщения об ошибке

Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).

Пример скриншота

В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если элемент <Source> политики проверки JWT пуст. Если он присутствует, его необходимо определить с именем переменной потока Edge.

Диагноз

  1. Найдите в сообщении об ошибке имя политики проверки JWT и имя пустого элемента. Например, в следующем сообщении об ошибке имя политики проверки JWT — JWT-Verify-RS256 , а имя элемента — PublicKey/Value :

    Invalid empty element : policy(JWT-Verify-HS256) element(Source).
    
  2. Проверьте XML-файл политики проверки 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> политики проверки JWT пуст, возникает ошибка:

    Invalid empty element : policy(JWT-Verify-HS256) element(Source).
    

Разрешение

Если элемент <Source> политики проверки JWT присутствует, убедитесь, что он указывает переменную потока.

Для исправления примера проверки политики 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 .

Например, использование значения abc для дочернего элемента <JWKS> расположенного под элементом <PublicKey> , приведет к этой ошибке.

Диагноз

  1. Найдите в сообщении об ошибке имя политики проверки JWT и имя элемента, содержащего недопустимое значение. Например, в следующем сообщении об ошибке имя политики проверки JWT — JWT-Verify-RS256 , а элемент — PublicKey/JWKS :

    Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
    
  2. Изучите XML-файл политики проверки 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>

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 приводит к этой ошибке.

Диагноз

  1. В сообщении об ошибке укажите название политики проверки JWT, имя элемента и название семейства алгоритмов. Например, в следующем сообщении об ошибке название политики проверки 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).
    
  2. Убедитесь, что элемент и семейство алгоритмов, использованные в 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>
    
  3. Если значение элемента <Algorithm> равно HS256 , но вы использовали <PublicKey> , то это и является причиной ошибки.

    В приведенном выше примере политики проверки 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>