您目前查看的是 Apigee 和 Apigee Hybrid 說明文件。
查看
Apigee Edge 說明文件。
InvalidNameForAdditionalClaim
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 <AdditionalClaims> 元素的子項元素 <Claim> 中使用的聲明名稱是下列其中一個已註冊的名稱,就會發生這項錯誤:
「kid」、「iss」、「sub」、「aud」、「iat」、「exp」、「nbf」、「jti」
註冊的聲明定義於 RFC 7519。
舉例來說,在 <AdditionalClaims> 元素下使用聲明名稱 iss,就會導致這項錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱和聲明名稱。舉例來說,在下列錯誤訊息中,產生 JWT 政策的名稱為
JWT-Generate-HS256,聲明名稱為iss:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).確認失敗的「產生 JWT 政策 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>如果
<AdditionalClaims>元素的子項元素<Claim>中使用的聲明名稱是下列其中一個已註冊的名稱:「kid」、「iss」、「sub」、「aud」、「iat」、「exp」、「nbf」、「jti」
這就是錯誤原因。
在上述「產生 JWT」政策範例中,
<Claim>名稱在<AdditionalClaims>元素下指定為iss,因此會導致錯誤:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
解析度
請勿在 <AdditionalClaims> 元素的子項元素 <Claim> 中使用任何已註冊的名稱,例如「kid」、「iss」、「sub」、「aud」、「iat」、「exp」、「nbf」或「jti」。
如要修正上述「產生 JWT」政策範例,請將聲明名稱變更為 status:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
InvalidTypeForAdditionalClaim
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 GenerateJWT 政策的 <AdditionalClaims> 元素子元素 <Claim> 中使用的聲明類型不是下列其中一種,就會發生這個錯誤:
string (預設)、number、boolean 或 map
舉例來說,在 <AdditionalClaims> 元素下使用 integer 聲明類型會導致錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱、聲明名稱和聲明類型。舉例來說,在下列錯誤訊息中,「產生 JWT 政策」的名稱為
JWT-Generate-HS256,聲明名稱為claim,聲明類型為integer:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).確認失敗的「產生 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/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </GenerateJWT>如果
<AdditionalClaims>元素的子項元素<Claim>中使用的聲明類型不是下列其中一種:string(預設)、number、boolean或map這就是錯誤原因。
在上述「產生 JWT」政策範例中,
<AdditionalClaims>元素下的<Claim>類型指定為integer。由於integer不是支援的類型,因此會出現下列錯誤:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
解析度
確認 <AdditionalClaims> 元素的子元素 <Claim> 中只使用支援的資料類型,例如 string、number、boolean 或 map。
如要修正上例中的「產生 JWT」政策,請將宣告類型變更為 boolean。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
MissingNameForAdditionalClaim
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 <AdditionalClaims> 或 <AdditionalHeaders> 元素的子元素 <Claim> 中未指定聲明名稱,就會發生這項錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱。舉例來說,在下列錯誤訊息中,產生 JWT 政策的名稱為
JWT-Generate-HS256:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim檢查失敗的「產生 JWT」政策 XML,確認
<AdditionalClaims>或<AdditionalHeaders>元素下的子元素<Claims>是否缺少聲明名稱。舉例來說,下列「產生 JWT」政策未在<AdditionalClaims>元素下指定聲明名稱:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </GenerateJWT>由於
<Claim>名稱未在<AdditionalClaims>元素下指定,因此會收到下列錯誤:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
解析度
請務必在 <AdditionalClaims> 或 <AdditionalHeaders> 元素的子項元素 <Claim> 中指定聲明名稱。
如要修正上述「產生 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/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
InvalidNameForAdditionalHeader
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 <AdditionalHeaders> 元素的子項 <Claim> 中使用的聲明名稱是下列其中一個標準 JWT 標頭,就會發生這項錯誤:
alg或typ
舉例來說,在 <AdditionalHeaders> 元素下使用 alg 聲明名稱會導致錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱和標頭名稱。舉例來說,在下列錯誤訊息中,產生 JWT 政策的名稱為
JWT-Generate-HS256,標頭名稱為alg:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).確認失敗的「產生 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>如果
<AdditionalClaims>元素的子項元素<Claim>中使用的標頭名稱是下列其中一個標準 JWT 標頭:alg或typ這就是錯誤原因。
在上述「產生 JWT」政策範例中,
<Claim>名稱在<AdditionalClaims>元素下指定為alg,因此會導致錯誤:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
解析度
請勿在 <AdditionalHeaders> 元素的子項元素 <Claim> 中使用標準 JWT 標頭 alg 或 typ。
如要修正上述「產生 JWT」政策範例,請在 <AdditionalHeaders> 元素的子項元素 <Claim> 中使用 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 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 GenerateJWT 政策的 <AdditionalHeaders> 元素子項 <Claim> 中使用的聲明類型不是下列其中一種,就會發生錯誤:
string (預設)、number、boolean 或 map。
舉例來說,在 <AdditionalHeaders> 元素下使用 integer 聲明類型會導致錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱、聲明名稱和聲明類型。舉例來說,在下列錯誤訊息中,「產生 JWT」政策的名稱為
JWT-Generate-HS256,聲明名稱為claim,,聲明類型為integer:Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).確認失敗的「產生 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>如果
<AdditionalHeaders>元素的子項元素<Claim>中使用的聲明類型不是下列類型:string(預設)、number、boolean或map這就是錯誤原因。
在上述「產生 JWT」政策範例中,
<AdditionalHeaders>元素下的<Claim>類型指定為integer。由於integer不是支援的類型,因此會出現下列錯誤:Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
解析度
確認 <AdditionalHeaders> 元素的子項元素 <Claim> 中只使用支援的資料類型 string、number、boolean 或 map。
如要修正上述「產生 JWT」政策範例,請將聲明類型變更為 boolean:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueOfArrayAttribute
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 <AdditionalClaims> 或 <AdditionalHeaders> 元素的子元素 <Claim> 中,陣列屬性的值未設為 true 或 false,就會發生這項錯誤。
舉例來說,在 <AdditionalClaims> 或 <AdditionalHeaders> 的子項元素 <Claim> 中,將陣列屬性的值設為 yes,就會導致錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱和聲明名稱。舉例來說,在下列錯誤訊息中,「產生 JWT 政策」的名稱為
JWT-Generate-HS256,聲明名稱為claim:Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).確認失敗的「產生 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>如果
<AdditionalClaims>元素的子元素<Claim>中,array屬性的值未設為true或false,就會導致錯誤。由於上述範例中,
<AdditionalClaims>元素的子項元素<Claim>中的array屬性設為yes,因此會出現下列錯誤:Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
解析度
確認 <AdditionalClaims> 或 <AdditionalHeaders> 子元素 <Claim> 中的陣列屬性值設為 true 或 false。
如要修正上述「產生 JWT」政策範例,請將陣列屬性的值變更為 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 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 <PrivateKey> 元素搭配 HS 系列演算法使用,而 <SecretKey> 元素搭配 RSA 系列演算法使用,就會發生這個錯誤。如果任一條件成立,也會發生錯誤。
舉例來說,使用 <PrivateKey> 元素搭配 HS Family 演算法會導致這項錯誤。
診斷
從錯誤訊息中找出產生 JWT 政策的名稱、元素名稱和演算法系列名稱。舉例來說,在下列錯誤訊息中,「產生 JWT」政策的名稱為
JWT-Generate-HS256,元素名稱為PrivateKey,演算法系列為HMAC:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).確認失敗的「產生 JWT」政策 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>如果
<Algorithm>元素的值為HS256,但你使用的是<PrivateKey>,這就是造成錯誤的原因。在上述「產生 JWT」政策範例中,即使
<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 系列演算法。
如要修正上述「產生 JWT」政策範例,請使用「產生 JWT」政策中的 <SecretKey>,該政策會使用 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 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 <Algorithm> 元素中指定的值不是下列其中一個值,就會發生這個錯誤:
HS256、HS384、HS512、RS256、RS384、RS512
舉例來說,如果在 <Algorithm> 元素中將演算法值指定為 RS128,就會導致這項錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱和元素名稱。舉例來說,在下列錯誤訊息中,「產生 JWT」政策的名稱為
JWT-Generate-HS256,元素名稱為Algorithm.Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).檢查失敗的「產生 JWT 政策」XML,並檢查為
<Algorithm>元素指定的值。以下是產生 JWT 政策的範例:
<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS128</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </GenerateJWT>檢查
<Algorithm>元素中指定的值。如果不是下列其中一個值:HS256、HS384、HS512、RS256、RS384、RS512這就是錯誤原因。
在上述「產生 JWT」政策範例中,
<Algorithm>名稱指定為HS128。由於系統不支援這個演算法,因此會顯示以下錯誤訊息:Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
解析度
確認 <Algorithm> 元素中指定的值是支援的值:
HS256、HS384、HS512、RS256、RS384、RS512
如要修正上述範例中的「產生 JWT」政策 (使用 <SecretKey> 元素),請將 <Algorithm> 的值變更為 HS25。請注意,使用 <SecretKey> 元素時,只能使用 HS 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
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 Generate JWT 政策中的 <PrivateKey> 元素未搭配 RSA 系列演算法使用,就會發生這項錯誤。同樣地,如果「產生 JWT」政策未搭配 HS 系列演算法使用 <SecretKey> 元素,也可能發生錯誤。
舉例來說,如果未使用 RSA Family 演算法的 <PrivateKey> 元素,就會導致這項錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱和缺少的元素名稱。舉例來說,在下列錯誤訊息中,「產生 JWT」政策的名稱為
JWT-Generate-HS256,而缺少的元素名稱為SecretKey。Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).檢查失敗的產生 JWT 政策 XML,確認錯誤訊息中指出的元素是否遺失。如果缺少這個檔案,就是導致錯誤的原因。
舉例來說,在下列政策中,缺少
SecretKey,且使用的Algorithm為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>Generate JWT 政策範例使用 HS 系列演算法,但缺少必要元素
SecretKey,因此會產生錯誤:Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
解析度
確認使用 RSA 系列演算法時,會使用必要 <PrivateKey> 元素,使用 HS 系列演算法時,會使用必要 <SecretKey> 元素。
如要修正上述範例,也就是使用 HS256 演算法的「產生 JWT」政策,請將 <SecretKey> 元素新增至「產生 JWT」政策:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidKeyConfiguration
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
錯誤訊息示例
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
螢幕截圖範例
Apigee 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 Generate JWT 政策中的 <PrivateKey> 或 <SecretKey> 元素未定義必要子元素 <Value>,就會發生這項錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱。舉例來說,在下列錯誤訊息中,產生 JWT 政策的名稱為
JWT-Generate-HS256。Invalid Key configuration : policy(JWT-Generate-HS256).檢查失敗的產生 JWT 政策 XML,確認子元素
<Value>是否未在<PrivateKey>或<SecretKey>元素中定義。如果未定義<Value>,就是造成錯誤的原因。舉例來說,在下列政策中,子元素
<Value>並未在<SecretKey>元素中定義:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>由於子項元素
<Value>未在 Generate JWT 政策的<SecretKey>元素中定義,因此您會收到下列錯誤訊息:Invalid Key configuration : policy(JWT-Generate-HS256).
解析度
請務必在產生 JWT 政策的 <PrivateKey> 或 <SecretKey> 元素中,定義子項元素 <Value>。
如要修正上述「產生 JWT」政策範例,請在 <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 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 <PrivateKey> 或 <SecretKey> 元素的子項元素 <Value> 中未指定或空白的 ref 屬性,就會發生這項錯誤。
舉例來說,如果 <SecretKey> 元素的子元素 <Value> 為空,就會發生錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱和空白元素名稱。舉例來說,在下列錯誤訊息中,產生 JWT 政策的名稱為
JWT-Generate-HS256,空白元素名稱為SecretKey/Value。Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).檢查失敗的「產生 JWT」政策 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>由於「產生 JWT」政策中
<SecretKey>元素的子項元素<Value>為空白,因此您會收到下列錯誤訊息:Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
解析度
請確保 <PrivateKey> 或 <SecretKey> 元素的子項元素 <Value> 中的 ref 屬性一律會指定,且前置字元為「private.」。
如要修正上述「產生 JWT」政策範例,請在 <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 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 <PrivateKey> 或 <SecretKey> 元素子項中 ref 屬性指定的流程變數名稱未包含私有前置字元 (private.),就會發生這項錯誤。<Value>
例如:
如果流程變數名稱在 <PrivateKey> 元素的子項元素 <Value> 的 ref 屬性中指定為 mykey,就會發生這個錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱,以及含有無效變數名稱的元素名稱。舉例來說,在下列錯誤訊息中,「產生 JWT」政策的名稱為
JWT-Generate-HS256,元素名稱為SecretKey/Value。Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).檢查失敗的「產生 JWT 政策」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>由於 Generate JWT 政策的
<SecretKey>元素子項<Value>中指定的變數名稱沒有private.前置字元,因此您會收到下列錯誤訊息:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
解析度
請確保 <PrivateKey> 或 <SecretKey> 元素的子項元素 <Value> 中的 ref 屬性一律會指定,且具有 private. 前置字元。
如要修正上述「產生 JWT」政策範例,請在 <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 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果值 (密鑰) 在下列位置明確指定,就會發生這個錯誤:
<PrivateKey>元素的子項元素<Value>或<Password>,或<SecretKey>元素的子項元素<Value>
在「產生 JWT」政策中。
舉例來說,如果密鑰在 <SecretKey> 元素的子項元素 <Value> 中明確指定為 abc,就會發生這個錯誤。
診斷
從錯誤訊息中找出「產生 JWT」政策的名稱,以及明確指定密碼的元素名稱。舉例來說,在下列錯誤訊息中,產生 JWT 政策的名稱為
JWT-Generate-HS256,元素名稱為SecretKey/Value。Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).檢查失敗的「產生 JWT」政策 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>由於密碼是在「產生 JWT」政策的
<SecretKey>元素子項<Value>中明確指定,因此您會收到下列錯誤訊息:Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
解析度
請務必在 <PrivateKey> 或 <SecretKey> 元素的子項元素 <Value> 中,將值指定為流程變數。
如要修正上述「產生 JWT」政策範例,請在 <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 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
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 使用者介面會顯示含有錯誤的對話方塊:

原因
如果 <NotBefore> 元素中指定的值不屬於支援的格式,就會發生這項錯誤:
sortable、RFC 1123、RFC 850、ANCI-C
舉例來說,如果 <NotBefore> 中指定的值為 20-JUN-1990 08:03 (不支援的格式),就會發生這個錯誤。
<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
診斷
從錯誤訊息中找出 Generate JWT 政策的名稱,以及時間格式無效的元素名稱。舉例來說,在下列錯誤訊息中,產生 JWT 政策的名稱為
JWT-Generate-HS256,元素名稱為NotBefore。Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).檢查失敗的「產生 JWT 政策」XML,並驗證步驟 1 中所識別元素使用的時間格式。如果元素未使用任何支援的格式:
sortable、RFC 1123、RFC 850、ANCI-C這就是錯誤原因。
舉例來說,下列政策顯示子元素
<NotBefore>使用不支援的時間格式:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>由於「產生 JWT」政策的
<NotBefore>元素未使用任何支援的時間格式,因此您會收到下列錯誤訊息:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
解析度
請確認 <NotBefore> 元素中指定的值採用支援的格式:
sortable、RFC 1123、RFC 850、ANCI-C
如要修正產生 JWT 政策範例,請修改 <NotBefore> 元素中的日期,使用 sortable 格式,如下所示:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<ExpiresIn>1h</ExpiresIn>
<NotBefore>2018-08-14T11:00:21-07:00</NotBefore>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>