Pemecahan masalah error deployment kebijakan GenerateJWT

Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.

InvalidNameForAdditionalClaim

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Invalid name for additional claim : policy(policy_name) claim(claim_name).

Contoh pesan error

Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi jika nama klaim yang digunakan di elemen turunan <Claim> dari elemen <AdditionalClaims> adalah salah satu nama terdaftar berikut:

"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"

Klaim terdaftar ditentukan dalam RFC 7519.

Misalnya, menggunakan nama klaim iss di bawah elemen <AdditionalClaims> akan menyebabkan error ini.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dan nama klaim dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256 dan nama klaim adalah iss:

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    
  2. Pastikan nama klaim yang digunakan di elemen <AdditionalClaims> dalam XML kebijakan Generate JWT yang gagal cocok dengan nama klaim yang diidentifikasi dalam pesan error (Langkah 1 di atas). Misalnya, kebijakan berikut menentukan klaim sebagai iss, yang cocok dengan yang ada dalam pesan error:

    <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. Jika nama klaim yang digunakan dalam elemen turunan <Claim> dari elemen <AdditionalClaims> adalah salah satu nama terdaftar berikut:

    "kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"

    maka itulah penyebab error.

    Pada contoh kebijakan Buat JWT yang ditampilkan di atas, nama <Claim> ditentukan sebagai iss di bagian elemen <AdditionalClaims>, sehingga menghasilkan error:

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

Resolusi

Jangan gunakan nama terdaftar "kid", "iss", "sub", "aud", "iat", "exp", "nbf", atau "jti" di elemen turunan <Claim> dari elemen <AdditionalClaims>.

Untuk memperbaiki contoh kebijakan Buat JWT yang ditampilkan di atas, ubah nama klaim menjadi 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

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).

Contoh pesan error

Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi jika jenis klaim yang digunakan di elemen turunan <Claim> dari elemen <AdditionalClaims> kebijakan GenerateJWT bukan salah satu dari jenis berikut:

string (default), number, boolean, atau map

Misalnya, menggunakan jenis klaim integer di bawah elemen <AdditionalClaims> akan menyebabkan error.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT, nama klaim, dan jenis klaim dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256, nama klaim adalah claim, dan jenis klaim adalah integer:

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. Pastikan nama klaim dan jenis yang digunakan pada elemen <AdditionalClaims> dalam XML kebijakan Generate JWT yang gagal cocok dengan nama dan jenis klaim yang diidentifikasi dalam pesan error di Langkah 1. Misalnya, kebijakan berikut menentukan klaim sebagai claim dan jenisnya sebagai integer, yang cocok dengan yang ada dalam pesan error:

    <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. Jika jenis klaim yang digunakan di elemen turunan <Claim> dari elemen <AdditionalClaims> bukan salah satu dari jenis berikut:

    string (default), number, boolean, atau map

    maka itulah penyebab error.

    Dalam contoh kebijakan Buat JWT yang ditampilkan di atas, jenis <Claim> di bagian elemen <AdditionalClaims> ditentukan sebagai integer. Karena integer bukan jenis yang didukung, Anda akan mendapatkan error:

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

Resolusi

Pastikan hanya jenis data yang didukung seperti string, number, boolean, atau map yang digunakan di elemen turunan <Claim> dari elemen <AdditionalClaims>.

Untuk memperbaiki contoh kebijakan Buat JWT yang ditampilkan di atas, ubah jenis klaim menjadi 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

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.

Contoh pesan error

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

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi jika nama klaim tidak ditentukan dalam elemen turunan <Claim> dari elemen <AdditionalClaims> atau <AdditionalHeaders>.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256:

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. Periksa XML kebijakan Generate JWT yang gagal dan pastikan apakah nama klaim tidak ada di elemen turunan <Claims> di bawah elemen <AdditionalClaims> atau <AdditionalHeaders>. Misalnya, kebijakan Buat JWT berikut tidak menentukan nama klaim di bagian elemen <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>
    

    Karena nama <Claim> tidak ditentukan di bawah elemen <AdditionalClaims>, Anda akan mendapatkan error:

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

Resolusi

Pastikan nama klaim selalu ditentukan dalam elemen turunan <Claim> dari elemen <AdditionalClaims> atau <AdditionalHeaders>.

Untuk memperbaiki contoh kebijakan Buat JWT yang ditampilkan di atas, tentukan nama klaim seperti yang ditunjukkan di bawah:

<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

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Invalid name for additional header : policy(policy_name)header(header_name).

Contoh pesan error

Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi jika nama klaim yang digunakan di elemen turunan <Claim> dari elemen <AdditionalHeaders> adalah salah satu header JWT standar berikut:

alg atau typ

Misalnya, menggunakan nama klaim alg di bagian elemen <AdditionalHeaders> akan menyebabkan error.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dan nama header dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256 dan nama header adalah alg:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. Pastikan nama header yang digunakan dalam elemen turunan <Claim> di bawah elemen <AdditionalHeaders> dalam XML kebijakan Generate JWT yang gagal cocok dengan nama header yang diidentifikasi dalam pesan error di Langkah 1. Misalnya, kebijakan berikut menentukan header sebagai alg, yang cocok dengan yang ada dalam pesan error:

    <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. Jika nama header yang digunakan di elemen turunan <Claim> dari elemen <AdditionalClaims> adalah salah satu header JWT standar berikut:

    alg atau typ

    maka itulah penyebab error.

    Pada contoh kebijakan Buat JWT yang ditampilkan di atas, nama <Claim> ditentukan sebagai alg di bagian elemen <AdditionalClaims>, sehingga menghasilkan error:

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

Resolusi

Jangan gunakan header JWT standar alg atau typ di elemen turunan <Claim> dari elemen <AdditionalHeaders>.

Untuk memperbaiki contoh kebijakan Buat JWT yang ditampilkan di atas, gunakan nama x5c di elemen turunan <Claim> dari elemen <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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='x5c'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidTypeForAdditionalHeader

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).

Contoh pesan error

Error Saving Revision 2
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim1) type(integer).

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error akan terjadi jika jenis klaim yang digunakan di elemen turunan <Claim> dari elemen <AdditionalHeaders> kebijakan GenerateJWT bukan salah satu dari jenis berikut:

string (default), number, boolean, atau map.

Misalnya, menggunakan jenis klaim integer di bawah elemen <AdditionalHeaders> akan menyebabkan error.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT, nama klaim, dan jenis klaim dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256, nama klaim adalah claim,, dan jenis klaim adalah integer:

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. Pastikan nama klaim dan jenis klaim yang digunakan di elemen <AdditionalClaims> dalam XML kebijakan Generate JWT yang gagal cocok dengan nama klaim dan jenis klaim yang diidentifikasi dalam pesan error di Langkah 1. Misalnya, kebijakan berikut menentukan klaim sebagai claim dan jenis klaim sebagai integer, yang cocok dengan yang ada dalam pesan error:

    <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. Jika jenis klaim yang digunakan di elemen turunan <Claim> dari elemen <AdditionalHeaders> bukan salah satu dari jenis berikut:

    string (default), number, boolean, atau map

    maka itulah penyebab error.

    Dalam contoh kebijakan Buat JWT yang ditampilkan di atas, jenis <Claim> di bagian elemen <AdditionalHeaders> ditentukan sebagai integer. Karena integer bukan jenis yang didukung, Anda akan mendapatkan error:

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

Resolusi

Pastikan hanya jenis data yang didukung string, number, boolean, atau map yang digunakan dalam elemen turunan <Claim> dari elemen <AdditionalHeaders>.

Untuk memperbaiki contoh kebijakan Buat JWT yang ditampilkan di atas, ubah jenis klaim menjadi 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

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Invalid value for array attribute: policy(policy_name)claim(claim_name).

Contoh pesan error

Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi jika nilai atribut array di elemen turunan <Claim> dari elemen <AdditionalClaims> atau <AdditionalHeaders> tidak ditetapkan ke true atau false.

Misalnya, menetapkan nilai atribut array sebagai yes di elemen turunan <Claim> dari <AdditionalClaims> atau <AdditionalHeaders> akan menyebabkan error.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dan nama klaim dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256 dan nama klaim adalah claim:

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    
  2. Pastikan nama klaim yang digunakan dalam elemen turunan <Claim> di bawah elemen <AdditionalHeaders> dalam XML kebijakan Generate JWT yang gagal cocok dengan nama klaim yang diidentifikasi dalam pesan error di Langkah 1. Misalnya, kebijakan berikut menentukan nama klaim sebagai claim, yang cocok dengan yang ada dalam pesan error:

    <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. Jika nilai atribut array di elemen turunan <Claim> dari elemen <AdditionalClaims> tidak ditetapkan ke true atau false, hal tersebut adalah penyebab error.

    Karena atribut array di elemen turunan <Claim> dari elemen <AdditionalClaims> ditetapkan ke yes dalam contoh di atas, Anda akan mendapatkan error:

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

Resolusi

Pastikan nilai atribut array di elemen turunan <Claim> dari <AdditionalClaims> atau <AdditionalHeaders> ditetapkan ke true atau false.

Untuk memperbaiki contoh kebijakan Buat JWT yang ditampilkan di atas, ubah nilai atribut array menjadi 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

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi jika elemen <PrivateKey> digunakan dengan algoritma Keluarga HS dan elemen <SecretKey> digunakan dengan algoritma Keluarga RSA. Error juga akan terjadi jika salah satu kondisi ini benar.

Misalnya, menggunakan elemen <PrivateKey> dengan algoritma HS Family akan menyebabkan error ini.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT, nama elemen, dan nama keluarga algoritma dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256, nama elemen adalah PrivateKey, dan keluarga algoritma adalah HMAC:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    
  2. Pastikan elemen dan keluarga algoritma yang digunakan dalam XML kebijakan Generate JWT yang gagal cocok dengan elemen dan keluarga algoritma yang diidentifikasi dalam pesan error di Langkah 1. Misalnya, kebijakan berikut menentukan elemen sebagai PrivateKey dan keluarga algoritma sebagai HMAC, yang cocok dengan yang ada dalam pesan error:

    <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. Jika nilai elemen <Algorithm> adalah HS256, tetapi Anda telah menggunakan <PrivateKey>, hal itulah yang menyebabkan error.

    Dalam contoh kebijakan Buat JWT yang ditampilkan di atas, <PrivateKey> digunakan meskipun <PrivateKey> ditetapkan ke algoritma keluarga, HS256, yang menyebabkan error:

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

Resolusi

Pastikan elemen <PrivateKey> hanya digunakan dengan algoritma RSA Family dan elemen <SecretKey> hanya digunakan dengan algoritma HS Family.

Untuk memperbaiki contoh kebijakan Generate JWT yang ditampilkan di atas, gunakan <SecretKey> dari kebijakan GenerateJWT yang menggunakan algoritma 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

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Invalid Value for element : policy(policy_name) element(element_name).

Contoh pesan error

Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi jika nilai yang ditentukan dalam elemen <Algorithm> bukan salah satu nilai berikut:

HS256, HS384, HS512, RS256, RS384, RS512

Misalnya, menentukan nilai algoritma sebagai RS128 di elemen <Algorithm> akan menyebabkan error ini.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dan nama elemen dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256 dan nama elemennya adalah Algorithm.

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. Periksa XML kebijakan Generate JWT yang gagal dan periksa nilai yang ditentukan untuk elemen <Algorithm>.

    Berikut adalah contoh kebijakan Buat 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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='status' type='string'>Development</Claim>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. Periksa nilai yang ditentukan dalam elemen <Algorithm>. Jika bukan salah satu nilai berikut:

    HS256, HS384, HS512, RS256, RS384, RS512

    maka itulah penyebab error.

    Dalam contoh kebijakan Buat JWT yang ditampilkan di atas, nama <Algorithm> ditentukan sebagai HS128. Karena ini bukan algoritma yang didukung, Anda akan mendapatkan error:

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

Resolusi

Pastikan nilai yang ditentukan dalam elemen <Algorithm> adalah salah satu nilai yang didukung:

HS256, HS384, HS512, RS256, RS384, RS512

Untuk memperbaiki contoh kebijakan Generate JWT yang ditampilkan di atas, yang menggunakan elemen <SecretKey>, ubah nilai <Algorithm> menjadi HS25. Perhatikan, saat elemen <SecretKey> digunakan, Anda hanya dapat menggunakan algoritma HS Family.

<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

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Missing configuration element : policy(policy_name) element(element_name).

Contoh pesan error

Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi saat elemen <PrivateKey> tidak digunakan dengan algoritma RSA Family dalam kebijakan Buat JWT. Demikian pula, error dapat terjadi jika elemen <SecretKey> tidak digunakan dengan algoritma HS Family dalam kebijakan Buat JWT.

Misalnya, tidak menggunakan elemen <PrivateKey> dengan algoritma RSA Family akan menyebabkan error ini.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dan nama elemen yang tidak ada dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256 dan nama elemen yang hilang adalah SecretKey.

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    
  2. Periksa XML kebijakan Generate JWT yang gagal dan pastikan elemen yang ditunjukkan dalam pesan error tidak ada. Jika tidak ada, berarti itulah penyebab error.

    Misalnya, dalam kebijakan berikut, SecretKey tidak ada dan Algorithm yang digunakan adalah HS256:

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

    Contoh kebijakan Buat JWT menggunakan algoritma Keluarga HS, tetapi elemen wajib SecretKey tidak ada, sehingga menyebabkan error:

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

Resolusi

Pastikan elemen <PrivateKey> wajib digunakan dengan algoritma RSA Family dan elemen <SecretKey> wajib digunakan dengan algoritma HS Family.

Untuk memperbaiki contoh kebijakan Buat JWT yang ditampilkan di atas, yang menggunakan algoritma HS256, tambahkan elemen <SecretKey> ke kebijakan Buat 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-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidKeyConfiguration

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 3.

Penyebab

Error ini terjadi jika elemen turunan wajib <Value> tidak ditentukan dalam elemen <PrivateKey> atau <SecretKey> dalam kebijakan Buat JWT.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256.

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. Periksa XML kebijakan Generate JWT yang gagal dan verifikasi apakah elemen turunan <Value> tidak ditentukan dalam elemen <PrivateKey> atau <SecretKey>. Jika <Value> tidak ditentukan, hal itu adalah penyebab error.

    Misalnya, dalam kebijakan berikut, elemen turunan <Value> tidak ditentukan dalam elemen <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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    Karena elemen turunan <Value> tidak ditentukan dalam elemen <SecretKey> kebijakan Buat JWT, Anda akan mendapatkan error:

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

Resolusi

Pastikan elemen turunan <Value> selalu ditentukan dalam elemen <PrivateKey> atau <SecretKey> dari kebijakan Buat JWT.

Untuk memperbaiki contoh kebijakan Buat JWT yang ditampilkan di atas, tentukan elemen turunan <Value> di bawah elemen <SecretKey> seperti yang ditunjukkan di bawah ini:

<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

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Empty Element for Key Configuration : policy(policy_name) element(element_name).

Contoh pesan error

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

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi jika atribut ref di elemen turunan <Value> dari elemen <PrivateKey> atau <SecretKey> tidak ditentukan atau kosong.

Misalnya, jika elemen turunan <Value> dari elemen <SecretKey> kosong, error akan terjadi.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dan nama elemen kosong dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256 dan nama elemen kosong adalah SecretKey/Value.

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Periksa XML kebijakan Generate JWT yang gagal dan verifikasi apakah elemen yang diidentifikasi pada Langkah 1 kosong. Jika kosong, berarti itulah penyebab error.

    Misalnya, kebijakan berikut menunjukkan bahwa elemen turunan <Value> dari elemen <SecretKey> kosong:

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

    Karena elemen turunan <Value> dari elemen <SecretKey> dalam kebijakan Buat JWT kosong, Anda akan mendapatkan error:

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

Resolusi

Pastikan atribut ref di elemen turunan <Value> dari elemen <PrivateKey> atau <SecretKey> selalu ditentukan dan memiliki awalan "private.".

Untuk memperbaiki contoh kebijakan Buat JWT yang ditampilkan di atas, gunakan variabel alur private.privatekey di elemen turunan <Value> dari elemen <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>

InvalidVariableNameForSecret

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Invalid variable name for secret : policy(policy_name) element(element_name).

Contoh pesan error

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

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi jika nama variabel flow yang ditentukan dalam atribut ref di elemen turunan <Value> dari elemen <PrivateKey> atau <SecretKey> tidak menyertakan awalan pribadi (private.).

Misalnya :

Jika nama variabel alur ditentukan sebagai mykey di atribut ref elemen turunan <Value> dari elemen <PrivateKey>, error ini akan terjadi.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dan nama elemen dengan nama variabel yang tidak valid dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256 dan nama elemennya adalah SecretKey/Value.

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Periksa XML kebijakan Generate JWT yang gagal dan verifikasi nama variabel yang digunakan dalam elemen, yang diidentifikasi pada Langkah 1. Jika nama variabel tidak memiliki awalan private., hal itu adalah penyebab error.

    Misalnya, kebijakan berikut menunjukkan bahwa elemen turunan <Value> dari elemen <SecretKey> memiliki nama variabel mykey yang tidak valid:

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

    Karena nama variabel yang ditentukan dalam elemen turunan <Value> dari elemen <SecretKey> kebijakan Buat JWT tidak memiliki awalan private., Anda akan mendapatkan error:

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

Resolusi

Pastikan atribut ref di elemen turunan <Value> dari elemen <PrivateKey> atau <SecretKey> selalu ditentukan dan memiliki awalan private..

Untuk memperbaiki contoh kebijakan Buat JWT yang ditampilkan di atas, gunakan variabel alur private.privatekey di elemen turunan <Value> dari elemen <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>

InvalidSecretInConfig

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).

Contoh pesan error

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

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 2.

Penyebab

Error ini terjadi jika nilai (rahasia) ditentukan secara eksplisit di:

  • Elemen turunan <Value> atau <Password> dari elemen <PrivateKey> atau
  • Elemen turunan <Value> dari elemen <SecretKey>

di kebijakan Buat JWT.

Misalnya, jika secret ditentukan secara eksplisit sebagai abc di elemen turunan <Value> dari elemen <SecretKey>, error ini akan terjadi.

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dan nama elemen tempat secret ditentukan secara eksplisit dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256 dan nama elemennya adalah SecretKey/Value.

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Periksa XML kebijakan Generate JWT yang gagal dan verifikasi apakah secret ditentukan secara eksplisit dalam elemen yang diidentifikasi pada Langkah 1. Jika ditentukan secara eksplisit, hal itu adalah penyebab error.

    Misalnya, kebijakan berikut menunjukkan bahwa secret telah ditentukan secara eksplisit di elemen turunan <Value> dari elemen <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-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    Karena secret ditentukan secara eksplisit dalam elemen turunan <Value> dari elemen <SecretKey> kebijakan Buat JWT, Anda akan mendapatkan error:

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

Resolusi

Pastikan nilai selalu ditentukan sebagai variabel alur di elemen turunan <Value> dari elemen <PrivateKey> atau <SecretKey>.

Untuk memperbaiki contoh kebijakan Generate JWT yang ditampilkan di atas, gunakan variabel alur private.secretkey di atribut ref elemen turunan <Value> dari <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

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error ini:

Error Saving Revision 2
Invalid Time format: policy(policy_name) element(element_name).

Contoh pesan error

Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).

Contoh screenshot

Di UI Apigee, Anda akan melihat kotak dialog dengan error:

Terjadi error saat menyimpan revisi 3.

Penyebab

Error ini terjadi jika nilai yang ditentukan dalam elemen <NotBefore> bukan salah satu format yang didukung:

sortable, RFC 1123, RFC 850, ANCI-C

Misalnya, jika nilai yang ditentukan di <NotBefore> adalah 20-JUN-1990 08:03, yang bukan format yang didukung, error ini akan terjadi.

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

Diagnosis

  1. Identifikasi nama kebijakan Buat JWT dan nama elemen yang memiliki format waktu tidak valid dari pesan error. Misalnya, dalam pesan error berikut, nama kebijakan Buat JWT adalah JWT-Generate-HS256 dan nama elemennya adalah NotBefore.

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. Periksa XML kebijakan Generate JWT yang gagal dan verifikasi format waktu yang digunakan dalam elemen yang diidentifikasi pada Langkah 1. Jika elemen tidak menggunakan salah satu format yang didukung:

    sortable, RFC 1123, RFC 850, ANCI-C

    maka itulah penyebab error.

    Misalnya, kebijakan berikut menunjukkan bahwa elemen turunan <NotBefore> menggunakan format waktu yang tidak didukung:

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

    Karena elemen <NotBefore> dari kebijakan Buat JWT tidak menggunakan format waktu yang didukung, Anda akan mendapatkan error:

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

Resolusi

Pastikan nilai yang ditentukan dalam elemen <NotBefore> menggunakan salah satu format yang didukung:

sortable, RFC 1123, RFC 850, ANCI-C

Untuk memperbaiki contoh kebijakan Buat JWT, ubah tanggal di elemen <NotBefore> untuk menggunakan format sortable seperti yang ditunjukkan di bawah ini:

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