GenerateJWT ポリシーのデプロイエラーのトラブルシューティング

現在、ApigeeApigee ハイブリッドのドキュメントを表示しています。
Apigee Edge のドキュメントを表示する

InvalidNameForAdditionalClaim

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、<AdditionalClaims> 要素の子要素 <Claim> で使用されているクレームの名前が、次の登録名のいずれかに該当する場合に発生します。

kid、iss、sub、aud、iat、exp、nbf、jti

登録済みクレームは RFC 7519 で指定されています。

たとえば、<AdditionalClaims> 要素でクレーム名 iss を使用すると、このエラーが発生します。

診断

  1. エラー メッセージで GenerateJWT ポリシーの名前とクレーム名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシー名は JWT-Generate-HS256、クレーム名は iss です。

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    
  2. 失敗した GenerateJWT ポリシー XML の <AdditionalClaims> 要素で使用されているクレーム名が、エラー メッセージで特定したクレーム名(上記の手順 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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name="iss"/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. <AdditionalClaims> 要素の子要素 <Claim> で使用されているクレーム名が、次の登録名のいずれかに該当するかどうかを確認します。

    kid、iss、sub、aud、iat、exp、nbf、jti

    該当する場合は、それがエラーの原因です。

    上記の GenerateJWT ポリシーの例では、<AdditionalClaims> 要素で <Claim> の name に iss が指定されているため、エラーが発生します。

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    

解決策

<AdditionalClaims> 要素の子要素 <Claim> に、登録された名前(kid、iss、sub、aud、iat、exp、nbf、jti)は使用しないでください。

上記の GenerateJWT ポリシーの例を修正するには、クレームの name を 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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='status' type='string'>Development</Claim>
    </AdditionalClaims>
</GenerateJWT>

InvalidTypeForAdditionalClaim

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、GenerateJWT ポリシーの <AdditionalClaims> 要素の子要素 <Claim> で使用されているクレームの型が、次のいずれかでない場合に発生します。

string(デフォルト)、numberboolean、または map

たとえば、<AdditionalClaims> 要素の中でクレームの型に integer を使用すると、エラーが発生します。

診断

  1. エラー メッセージで GenerateJWT ポリシーの名前、クレーム名、クレームの型を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は JWT-Generate-HS256、クレーム名は claim、クレームの型は integer です。

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. エラーが発生した GenerateJWT ポリシーの XML で、<AdditionalClaims> 要素で使用されているクレーム名と型が、手順 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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='integer'/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. <AdditionalClaims> 要素の子要素 <Claim> で使用されたクレームの型が次の型に該当するかどうかを確認します。

    string(デフォルト)、numberboolean、または map

    該当する場合は、それがエラーの原因です。

    上記の GenerateJWT ポリシーの例では、<AdditionalClaims> 要素の中にある <Claim> の type に integer が指定されています。integer はサポートされていない型のため、次のエラーが発生します。

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

解決策

サポートされているデータ型(stringnumberbooleanmap など)のみを <AdditionalClaims> 要素の子要素 <Claim> で使用してください。

上記の GenerateJWT ポリシーの例を修正するには、クレームの type を 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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</GenerateJWT>

MissingNameForAdditionalClaim

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、<AdditionalClaims> または <AdditionalHeaders> 要素の子要素 <Claim> でクレーム名が指定されていない場合に発生します。

診断

  1. エラー メッセージで、GenerateJWT ポリシーの名前を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は JWT-Generate-HS256 です。

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. エラーが発生した Generate JWT ポリシーの XML を調べて、<AdditionalClaims> 要素や <AdditionalHeaders> 要素の子要素 <Claims> でクレーム名が欠けていないか確認します。たとえば、次の GenerateJWT ポリシーでは、<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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim ref='reqclaim' type='boolean'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    <AdditionalClaims> 要素に <Claim> の名前が指定されていないため、エラーが発生します。

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    

解決策

<AdditionalClaims> 要素や <AdditionalHeaders> 要素の子要素 <Claim> で常にクレーム名を指定するようにします。

上記の GenerateJWT ポリシーの例を修正するには、クレームの name を次のように指定します。

<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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</GenerateJWT>

InvalidNameForAdditionalHeader

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、<AdditionalHeaders> 要素の子要素 <Claim> で使用されているクレーム名が次の標準 JWT ヘッダーのいずれかに該当する場合に発生します。

alg または typ

たとえば、<AdditionalHeaders> 要素の中でクレーム名に alg を使用すると、エラーが発生します。

診断

  1. エラー メッセージで GenerateJWT ポリシー名とヘッダー名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシー名は JWT-Generate-HS256、ヘッダー名は alg です。

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. エラーが発生した Generate JWT ポリシーの XML で、<AdditionalHeaders> 要素の子要素 <Claim> で使用されているヘッダー名が、手順 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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalHeaders>
            <Claim name="alg"/>
        </AdditionalHeaders>
    </GenerateJWT>
    
  3. <AdditionalClaims> 要素の子要素 <Claim> で使用されるヘッダー名が、次の標準 JWT ヘッダーのいずれかに該当するかどうかを確認します。

    alg または typ

    該当する場合は、それがエラーの原因です。

    上記の GenerateJWT ポリシーの例では、<AdditionalClaims> 要素で <Claim> の name に alg が指定されているため、エラーが発生します。

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    

解決策

<AdditionalHeaders> 要素の子要素 <Claim> で標準の JWT ヘッダー algtyp を使用しないでください。

上記の GenerateJWT ポリシーの例を修正するには、<AdditionalHeaders> 要素の子要素 <Claim> で name に x5c を使用します。

<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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='x5c'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidTypeForAdditionalHeader

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、GenerateJWT ポリシーの <AdditionalHeaders> 要素の子要素 <Claim> で使用されている型が、次のいずれにも該当しない場合に発生します。

string(デフォルト)、numberboolean、または map

たとえば、<AdditionalHeaders> 要素の中でクレームの型に integer を使用すると、エラーが発生します。

診断

  1. エラー メッセージで GenerateJWT ポリシーの名前、クレーム名、クレームの型を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は JWT-Generate-HS256、クレーム名は claim,、クレームの型は integer: です。

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. エラーが発生した Generate JWT ポリシーの XML で、<AdditionalClaims> 要素で使用されているクレーム名とクレームの型が、手順 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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalHeaders>
            <Claim name='claim' ref='reqclaim' type='integer'/>
        </AdditionalHeaders>
    </GenerateJWT>
    
  3. <AdditionalHeaders> 要素の子要素 <Claim> で使用されたクレームの型が次の型に該当するかどうかを確認します。

    string(デフォルト)、numberboolean、または map

    該当する場合は、それがエラーの原因です。

    上記の GenerateJWT ポリシーの例では、<AdditionalHeaders> 要素の中にある <Claim> の type に integer が指定されています。integer はサポートされていない型のため、次のエラーが発生します。

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

解決策

<AdditionalHeaders> 要素の子要素 <Claim> では、サポートされているデータ型(stringnumberbooleanmap)のみが使用されるようにします。

上記の GenerateJWT ポリシーの例を修正するには、クレームの type を 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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidValueOfArrayAttribute

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、<AdditionalClaims> 要素や <AdditionalHeaders> 要素の子要素 <Claim> の配列属性の値が true または false に設定されていない場合に発生します。

たとえば、<AdditionalClaims><AdditionalHeaders> の子要素 <Claim> で配列属性の値を yes に設定すると、エラーが発生します。

診断

  1. エラー メッセージで GenerateJWT ポリシーの名前とクレーム名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシー名は JWT-Generate-HS256、クレーム名は claim: です。

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    
  2. エラーが発生した Generate JWT ポリシーの XML で、<AdditionalHeaders> 要素の子要素 <Claim> で使用されているクレーム名が、手順 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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='yes'/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. <AdditionalClaims> 要素の子要素 <Claim>array 属性の値が、true または false に設定されていない場合、これがエラーの原因です。

    上記の例では、<AdditionalClaims> 要素の子要素 <Claim>array 属性が yes に設定されているため、次のエラーが発生します。

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    

解決策

<AdditionalClaims><AdditionalHeaders> の子要素 <Claim> 内の array 属性の値が true または false に設定されるようにします。

上記の GenerateJWT ポリシーの例を修正するには、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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidConfigurationForActionAndAlgorithm

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、<PrivateKey> 要素が HS ファミリー アルゴリズムで使用され、<SecretKey> 要素が RSA ファミリー アルゴリズムで使用される場合に発生します。また、この条件のどちらかが満たされる場合にも発生します。

たとえば、<PrivateKey> 要素を HS ファミリー アルゴリズムで使用すると、このエラーが発生します。

診断

  1. エラー メッセージから、GenerateJWT ポリシー名、要素名、アルゴリズム ファミリー名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシー名は JWT-Generate-HS256、要素名は PrivateKey、アルゴリズム ファミリー名は HMAC です。

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    
  2. エラーが発生した GenerateJWT ポリシーの XML で使用されている要素とアルゴリズム ファミリーが、手順 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-JWT-policy-test</Issuer>
            <Audience>fans</Audience>
            <Id/>
            <AdditionalClaims>
                <Claim name='claim' ref='reqclaim' type='string' array=tuu
        =/>
            </AdditionalClaims>
        </GenerateJWT>
    
  3. <Algorithm> 要素の値 HS256 に対して、<PrivateKey> を使用しているため、これがエラーの原因になります。

    上記の GenerateJWT ポリシーの例では、<PrivateKey> がファミリー アルゴリズム HS256 に設定されているにもかかわらず <PrivateKey> が使用されているため、エラーが発生します。

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    

解決策

<PrivateKey> 要素は RSA ファミリー アルゴリズムでのみ使用し、<SecretKey> 要素は HS ファミリー アルゴリズムでのみ使用します。

上記の GenerateJWT ポリシーの例を修正するには、<SecretKey> を使用する GenerateJWT ポリシーでは、HS256 アルゴリズムを使用するようにします。

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidValueForElement

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、<Algorithm> 要素で指定された値が、次のいずれにも該当しない場合に発生します。

HS256HS384HS512RS256RS384RS512

たとえば、<Algorithm> 要素でアルゴリズムの値を RS128 に設定すると、このエラーが発生します。

診断

  1. エラー メッセージで GenerateJWT ポリシーの名前と要素名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は JWT-Generate-HS256 で、要素名は Algorithm. です。

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. エラーが発生した GenerateJWT ポリシーの XML を調べて、<Algorithm> 要素に指定された値を確認します。

    GenerateJWT ポリシーの例を次に示します。

    <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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='status' type='string'>Development</Claim>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. <Algorithm> 要素に指定された値を調べます。次の値のいずれかに該当するかどうかを確認します。

    HS256HS384HS512RS256RS384RS512

    該当する場合は、それがエラーの原因です。

    上記の GenerateJWT ポリシーの例では、<Algorithm> 名に HS128 が指定されています。これはサポートされていないアルゴリズムのため、次のエラーが発生します。

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    

解決策

<Algorithm> 要素には、サポートされている次の値のいずれかが指定されるようにします。

HS256HS384HS512RS256RS384RS512

<SecretKey> 要素が使用された上記の GenerateJWT ポリシーの例を修正するには、<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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='status' type='string'>Development</Claim>
    </AdditionalClaims>
</GenerateJWT>

MissingConfigurationElement

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、GenerateJWT ポリシーの <PrivateKey> 要素が RSA ファミリー アルゴリズムとともに使用されていない場合に発生します。同様に、GenerateJWT ポリシーの <SecretKey> 要素が HS ファミリー アルゴリズムとともに使用されていない場合も、このエラーが発生します。

たとえば、RSA ファミリー アルゴリズムで <PrivateKey> 要素が使用されていない場合、このエラーが発生します。

診断

  1. エラー メッセージで、GenerateJWT ポリシー名と欠落している要素名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は JWT-Generate-HS256 で、欠落している要素名は SecretKey です。

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    
  2. エラーが発生した GenerateJWT ポリシーの XML を調べて、エラー メッセージに記載されている要素があるかどうかを確認します。要素がない場合は、それがエラーの原因です。

    たとえば、次のポリシーでは、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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    GenerateJWT ポリシーの例では、HS ファミリー アルゴリズムを使用していますが、必須要素の SecretKey が欠落しているためエラーが発生します。

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    

解決策

必須の <PrivateKey> 要素は RSA ファミリー アルゴリズムで使用され、必須の <SecretKey> 要素は HS ファミリー アルゴリズムで使用されるようにします。

上記の HS256 アルゴリズムを使用する GenerateJWT ポリシーの例を修正するには、GenerateJWT ポリシーに <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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidKeyConfiguration

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

Error Saving Revision 
Invalid Key configuration : policy(policy_name).

エラー メッセージの例

Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 3 の保存エラー。

原因

このエラーは、必須の子要素 <Value> が GenerateJWT ポリシーの <PrivateKey> 要素や <SecretKey> 要素に定義されていない場合に発生します。

診断

  1. エラー メッセージで、GenerateJWT ポリシーの名前を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は JWT-Generate-HS256 です。

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. エラーが発生した GenerateJWT ポリシーの XML を調べ、<PrivateKey> 要素や <SecretKey> 要素で子要素 <Value> が定義されているかどうかを確認します。<Value> が定義されていない場合、それがエラーの原因です。

    たとえば、次のポリシーでは、<SecretKey> 要素に子要素 <Value> が定義されていません。

    <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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    GenerateJWT ポリシーの <SecretKey> 要素で、子要素 <Value> が定義されていないため、次のエラーが発生します。

    Invalid Key configuration : policy(JWT-Generate-HS256).
    

解決策

GenerateJWT ポリシーの <PrivateKey> 要素や <SecretKey> 要素では、必ず子要素 <Value> が定義されるようにします。

上記の GenerateJWT ポリシーの例を修正するには、次のように <SecretKey> 要素の中に子要素 <Value> を定義します。

<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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

EmptyElementForKeyConfiguration

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、<PrivateKey> 要素や <SecretKey> 要素の子要素 <Value> に ref 属性が指定されていないか、空の場合に発生します。

たとえば、<SecretKey> 要素の子要素 <Value> が空の場合、このエラーが発生します。

診断

  1. エラー メッセージから GenerateJWT ポリシー名と空の要素名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシー名は JWT-Generate-HS256 で、空の要素名は SecretKey/Value です。

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. エラーが発生した GenerateJWT ポリシーの XML を調べて、手順 1 で特定した要素が空かどうかを確認します。要素が空の場合は、それがエラーの原因です。

    たとえば、次のポリシーでは、<SecretKey> 要素の子要素 <Value> が空であることを示しています。

    <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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    GenerateJWT ポリシーの <SecretKey> 要素の子要素 <Value> が空のため、次のエラーが発生します。

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

解決策

<PrivateKey> 要素や <SecretKey> 要素の子要素 <Value> には必ず ref 属性を指定し、接頭辞 private. を付けます。

上記の GenerateJWT ポリシーの例を修正するには、<SecretKey> 要素の子要素 <Value> でフロー変数 private.privatekey を使用します。

<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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidVariableNameForSecret

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、<PrivateKey> 要素や <SecretKey> 要素の子要素 <Value> の ref 属性で指定されたフロー変数名が、非公開の接頭辞(private.)を含んでいない場合に発生します。

次に例を示します。

<PrivateKey> 要素の子要素 <Value> で ref 属性のフロー変数名に mykey が指定されている場合、このエラーが発生します。

診断

  1. エラー メッセージから、GenerateJWT ポリシーの名前と、無効な変数名を持つ要素の名前を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は JWT-Generate-HS256 で、要素名は SecretKey/Value です。

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. エラーが発生した GenerateJWT ポリシーの XML を調べて、手順 1 で特定した要素で使用されている変数名を確認します。変数名に接頭辞 private. がない場合、これがエラーの原因です。

    たとえば、<SecretKey> 要素の子要素 <Value> に無効な変数名 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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    GenerateJWT ポリシーの <SecretKey> 要素の子要素 <Value> で指定された変数名に接頭辞 private. がないため、エラーが発生します。

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

解決策

<PrivateKey> 要素や <SecretKey> 要素の子要素 <Value> には必ず ref 属性を指定し、接頭辞 private. を付けます。

上記の GenerateJWT ポリシーの例を修正するには、<SecretKey> 要素の子要素 <Value> でフロー変数 private.privatekey を使用します。

<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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidSecretInConfig

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 2 の保存エラー。

原因

このエラーは、値(シークレット)が GenerateJWT ポリシーの次のいずれかの要素中で明示的に指定されている場合に発生します。

  • <PrivateKey> 要素の子要素 <Value> または<Password>
  • <SecretKey> 要素の子要素 <Value>

GenerateJWT ポリシー内。

たとえば、シークレットが <SecretKey> 要素の子要素 <Value>abc として明示的に指定されている場合、このエラーが発生します。

診断

  1. エラー メッセージから、GenerateJWT ポリシーの名前と、シークレットが明示的に指定されている要素名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は JWT-Generate-HS256 で、要素名は SecretKey/Value です。

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. エラーが発生した GenerateJWT ポリシーの XML を調べて、手順 1 で特定した要素にシークレットが明示的に指定されているかどうかを確認します。明示的に指定されている場合、それがエラーの原因です。

    たとえば、シークレットが <SecretKey> 要素の子要素 <Value> で明示的に指定されているポリシーを次に示します。

    <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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    シークレットが GenerateJWT ポリシーの <SecretKey> 要素の子要素 <Value> で明示的に指定されているため、次のエラーが発生します。

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

解決策

この値は、常に <PrivateKey> 要素または <SecretKey> 要素の子要素 <Value> でフロー変数として指定するようにします。

上記の GenerateJWT ポリシーの例を修正するには、<SecretKey> の子要素 <Value> の ref 属性にフロー変数 private.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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidTimeFormat

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

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).

スクリーンショットの例

Apigee UI に、エラーを示すダイアログ ボックスが表示されます。

リビジョン 3 の保存エラー。

原因

このエラーは、<NotBefore> 要素で指定された値が、サポートされている次の形式のいずれにも該当しない場合に発生します。

sortableRFC 1123RFC 850ANCI-C

たとえば、<NotBefore> で指定された値が 20-JUN-1990 08:03 などサポートされていない形式の場合、このエラーが発生します。

<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>

診断

  1. エラー メッセージから、GenerateJWT ポリシーの名前と、無効な時間形式を持つ要素名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は JWT-Generate-HS256 で、要素名は NotBefore です。

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. エラーが発生した GenerateJWT ポリシーの XML を調べて、手順 1 で特定した要素で使用されている時間形式を確認します。この要素でサポートされている次の形式が使用されているかどうかを確認します。

    sortableRFC 1123RFC 850ANCI-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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    GenerateJWT ポリシーの要素 <NotBefore> で、サポートされている時間形式が使用されないため、次のエラーが発生します。

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

解決策

<NotBefore> 要素で指定された値が、サポートされている形式のいずれかを使用するようにします。

sortableRFC 1123RFC 850ANCI-C

GenerateJWT ポリシーの例を修正するには、次のように <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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>