查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
InvalidNameForAdditionalClaim
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Invalid name for additional claim : policy(policy_name) claim(claim_name).
錯誤訊息示例
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果 <AdditionalClaims> 元素的子元素 <Claim> 所使用聲明的名稱是下列其中一個註冊名稱,就會發生這個錯誤:
「kid」、「iss」、「sub」、「aud」、「iat」、「exp」、「nbf」、「jti」
已註冊的聲明會在 RFC7519 中指定。
舉例來說,如果在 <AdditionalClaims> 元素下方使用著作權聲明名稱 iss,就會發生這種錯誤。
診斷
找出錯誤訊息中的「Verify JWT」政策名稱和憑證附加資訊名稱。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,憑證附加資訊名稱為iss:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).確認驗證失敗的 JWT 政策 XML 中
<AdditionalClaims>元素下方使用的憑證名稱與步驟 1 錯誤訊息中指出的聲明名稱相符。舉例來說,下列政策將聲明指定為iss,與錯誤訊息中的內容相符:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="iss"/> </AdditionalClaims> </VerifyJWT>如果
<AdditionalClaims>元素的子元素<Claim>中使用的聲明名稱是下列其中一個註冊名稱:「kid」、「iss」、「sub」、「aud」、「iat」、「exp」、「nbf」、「jti」
這就是發生錯誤的原因
在上述驗證 JWT 政策範例中,
<Claim>名稱在<AdditionalClaims>元素下指定為iss,導致發生錯誤:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
解析度
請勿使用任何已註冊的名稱「kid」、「iss」、「sub」、「aud」、「iat」、「exp」、「nbf」或「jti」在 <AdditionalClaims> 元素的子元素 <Claim> 中。
如要修正驗證 JWT 政策範例的問題,請將憑證附加資訊名稱變更為 status:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
InvalidTypeForAdditionalClaim
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
錯誤訊息示例
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
VerifyJWT 政策的 <AdditionalClaims> 元素子元素 <Claim> 中使用的憑證附加資訊類型不屬於下列類型:
string (預設)、number、boolean 或 map
舉例來說,如果在 <AdditionalClaims> 元素下方使用著作權聲明類型 integer,就會發生錯誤。
診斷
找出 Verify JWT 政策的名稱、憑證附加資訊名稱和錯誤訊息中的類型。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,憑證附加資訊名稱為claim,類型為integer:。Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).確認 JWT 政策 XML 失敗時,
<AdditionalClaims>元素下方使用的憑證附加資訊名稱和類型與步驟 1 錯誤訊息中指出的聲明名稱和類型相符。舉例來說,下列政策將聲明指定為claim,類型則指定為integer,與錯誤訊息的內容相符:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </VerifyJWT>如果
<AdditionalClaims>元素子項元素<Claim>中使用的聲明類型並非下列其中一種類型:string(預設)、number、boolean或map這就是發生錯誤的原因
在上述驗證 JWT 政策範例中,
<Claim>類型在<AdditionalClaims>元素下指定為integer。由於integer不是支援的類型,您會收到以下錯誤訊息:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
解析度
確保在 <AdditionalClaims> 元素的子元素 <Claim> 中使用僅支援 string (預設)、number、boolean 或 map 的資料類型。
如要修正驗證 JWT 政策範例,請將憑證附加資訊類型變更為 boolean:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
MissingNameForAdditionalClaim
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
錯誤訊息示例
Error Saving Revision 2
Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果未在 <AdditionalClaims> 或 <AdditionalHeaders> 元素的子元素 <Claim> 中指定著作權聲明名稱,就會發生這個錯誤。
診斷
找出錯誤訊息中的 Verify JWT 政策名稱。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim檢查失敗的 JWT 政策 XML,並確認
<AdditionalClaims>或<AdditionalHeaders>元素下子元素<Claims>缺少憑證附加資訊名稱。舉例來說,下列驗證 JWT 政策並未在<AdditionalClaims>元素下指定憑證附加資訊名稱:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </VerifyJWT>由於未在
<AdditionalClaims>元素下指定<Claim>名稱,您會收到錯誤訊息:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
解析度
請務必直接在 <AdditionalClaims> 或 <AdditionalHeaders> 元素的子元素 <Claim> 中指定聲明名稱。
如要修正驗證 JWT 政策範例,請指定憑證附加資訊名稱,如下所示:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
InvalidNameForAdditionalHeader
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Invalid name for additional header : policy(policy_name)header(header_name).
錯誤訊息示例
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果 <AdditionalHeaders> 元素子項元素 <Claim> 中使用的憑證附加資訊名稱是下列其中一個標準 JWT 標頭,就會發生這個錯誤:
alg 或 typ
舉例來說,如果在 <AdditionalHeaders> 元素下方使用著作權聲明名稱 alg,就會發生錯誤。
診斷
找出錯誤訊息中的 Verify JWT 政策名稱和標頭名稱。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,標頭名稱為alg:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).驗證失敗的 JWT 政策 XML 中,
<AdditionalHeaders>元素下方用於子元素<Claim>的標頭名稱,是否與步驟 1 中錯誤訊息指出的標頭名稱相符。舉例來說,下列政策會將標頭指定為alg,與錯誤訊息中的內容相符:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </VerifyJWT>如果
<AdditionalClaims>元素的子元素<Claim>中使用的標頭名稱是下列其中一個標準 JWT 標頭:alg或typ這就是發生錯誤的原因
在上述驗證 JWT 政策範例中,
<Claim>名稱在<AdditionalClaims>元素下指定為alg,導致發生錯誤:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
解析度
請勿在 <AdditionalHeaders> 元素的子項元素 <Claim> 中使用標準 JWT 標頭 alg 或 typ。
如要修正驗證 JWT 政策範例,請在 <AdditionalHeaders> 元素的 x5c 子元素<Claim>中使用名稱:
<VerifyJWT name="JWT-Verify-R>S256&<quot;
D>isplayNameJWT Ve<rify RS256/D>ispla<yName
> Algo<rithmRS256>/Algo<rithm
IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables
> SecretKe<y
Value ref="priv>ate.secre<tk>ey"<;/
> < Id19182>90/Id<
/Sec>re<tKey
E>xpire<sIn1h/E>xpiresIn
Subjectmonty-p<ythons-f>lying<-circu>s/Subject
Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer
A>udien<cef>ans/A<udience
Id/
> Additi<onalHeaders
> Cl<aim name='x5c&>#<39;/
/>AdditionalHeaders
/VerifyJWT
InvalidTypeForAdditionalHeader
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
錯誤訊息示例
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim1) type(integer).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果驗證 JWT 政策的 <AdditionalHeaders> 元素子項元素 <Claim> 使用的聲明類型並非下列其中一種類型,就會發生錯誤:
string (預設)、number、boolean 或 map
舉例來說,如果在 <AdditionalHeaders> 元素下方使用著作權聲明類型 integer,就會發生錯誤。
診斷
找出錯誤訊息中的「Verify JWT」政策名稱、憑證附加資訊名稱和類型。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,憑證附加資訊名稱為claim,類型為integer:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).確認 JWT 政策 XML 失敗時,
<AdditionalClaims>元素下方使用的憑證附加資訊名稱和類型與步驟 1 錯誤訊息中指出的聲明名稱和類型相符。舉例來說,下列政策將著作權聲明指定為claim,並將著作權聲明類型指定為integer,,與錯誤訊息的內容相符:<VerifyJWT name="JWT-Verify-R>S256&<quot; D>isplayNameJWT Ve<rify RS256/D>ispla<yName > Algo<rithmRS256>/Algo<rithm IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables > SecretKe<y Value ref="priv>ate.secre<tk>ey"<;/ > < Id19182>90/Id< /Sec>re<tKey E>xpire<sIn1h/E>xpiresIn Subjectmonty-p<ythons-f>lying<-circu>s/Subject Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer A>udien<cef>ans/A<udience Id/ > Additi<onalHeaders Claim name='claim' re>f=<9;reqclaim' ty>p<e='int>eger'/ /AdditionalHeaders /VerifyJWT如果
<AdditionalHeaders>元素子項元素<Claim>中使用的聲明類型並非下列其中一種類型:string(預設)、number、boolean或map這就是發生錯誤的原因
在上述驗證 JWT 政策範例中,
<AdditionalHeaders>元素下的<Claim>類型指定為integer。由於integer不是支援的類型,您會收到以下錯誤訊息:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
解析度
確認 <AdditionalHeaders> 元素的子項元素 <Claim> 只能使用支援的資料類型:string、number、boolean 或 map。
如要修正驗證 JWT 政策範例,請將憑證附加資訊類型變更為 boolean:
<VerifyJWT name="JWT-Verify-R>S256&<quot;
D>isplayNameJWT Ve<rify RS256/D>ispla<yName
> Algo<rithmRS256>/Algo<rithm
IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables
> SecretKe<y
Value ref="priv>ate.secre<tk>ey"<;/
> < Id19182>90/Id<
/Sec>re<tKey
E>xpire<sIn1h/E>xpiresIn
Subjectmonty-p<ythons-f>lying<-circu>s/Subject
Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer
A>udien<cef>ans/A<udience
Id/
> Additi<onalHeaders
Claim name='claim' re>f=<9;reqclaim' ty>p<e='boo>lean'/
/AdditionalHeaders
/VerifyJWT
InvalidValueOfArrayAttribute
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Invalid value for array attribute: policy(policy_name)claim(claim_name).
錯誤訊息示例
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果 <AdditionalClaims> 或 <AdditionalHeaders> 元素的子項元素 <Claim> 中的陣列屬性值未設為 true 或 false,就會發生這個錯誤。
舉例來說,在 <AdditionalClaims> 或 <AdditionalHeaders> 元素的子項元素 <Claim> 中,將陣列屬性的值設為 yes 會導致錯誤。
診斷
找出錯誤訊息中的「Verify JWT」政策名稱和憑證附加資訊名稱。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,憑證附加資訊名稱為claim:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).確認驗證 JWT 政策 XML 中,
<AdditionalHeaders>元素之下的子元素<Claim>使用的憑證名稱與步驟 1 錯誤訊息中指出的附加資訊名稱相符。舉例來說,下列政策將聲明名稱指定為claim,即與錯誤訊息顯示的內容相符:<VerifyJWT name="JWT-Verify-R>S256&<quot; D>isplayNameJWT Ve<rify RS256/D>ispla<yName > Algo<rithmRS256>/Algo<rithm IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables > SecretKe<y Value ref="priv>ate.secre<tk>ey"<;/ > < Id19182>90/Id< /Sec>re<tKey E>xpire<sIn1h/E>xpiresIn Subjectmonty-p<ythons-f>lying<-circu>s/Subject Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer A>udien<cef>ans/A<udience Id/ > Addit<ionalClaims Claim name='claim' ref='reqc>laim&<#39; type='st>r<ing' a>rray='yes'/ /AdditionalClaims /VerifyJWT如果
<AdditionalClaims>元素子項元素<Claim>中的array屬性值未設為true或false,就會是發生錯誤的原因。由於在上例中,
<AdditionalClaims>元素<Claim>子元素<Claim>中的array屬性已設為yes,因此您會收到錯誤:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
解析度
確認 <AdditionalClaims> 或 <AdditionalHeaders> 元素中,<Claim> 子元素 <Claim> 的陣列屬性值已設為 true 或 false。
如要修正上述驗證 JWT 政策範例,請將陣列屬性值變更為 true:
<VerifyJWT name="JWT-Verify-R>S256&<quot;
D>isplayNameJWT Ve<rify RS256/D>ispla<yName
> Algo<rithmRS256>/Algo<rithm
IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables
> SecretKe<y
Value ref="priv>ate.secre<tk>ey"<;/
> < Id19182>90/Id<
/Sec>re<tKey
E>xpire<sIn1h/E>xpiresIn
Subjectmonty-p<ythons-f>lying<-circu>s/Subject
Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer
A>udien<cef>ans/A<udience
Id/
> Additi<onalHeaders
Claim name='claim' ref='reqcl>aim<39; type='stri>n<g' arr>ay='true'/
/AdditionalHeaders
/VerifyJWT
InvalidValueForElement
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
錯誤訊息示例
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果 <Algorithm> 元素中指定的值不是下列其中一個值,就會發生這個錯誤:
HS256、HS384、HS512、RS256、RS384、RS512
舉例來說,在 <Algorithm> 元素中將演算法值指定為 RS128,就會導致這項錯誤。
診斷
找出錯誤訊息中的 Verify JWT 政策名稱和元素名稱。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,元素名稱為Algorithm:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).檢查失敗的 JWT 政策 XML,並檢查
<Algorithm>元素指定的值。以下是驗證 JWT 政策的範例:
<VerifyJWT name="JWT-Verify-R>S256&<quot; D>isplayNameJWT Ve<rify RS256/D>ispla<yName > Algo<rithmRS128>/Algo<rithm IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables > SecretKe<y Value ref="priv>ate.secre<tk>ey"<;/ > < Id19182>90/Id< /Sec>re<tKey E>xpire<sIn1h/E>xpiresIn Subjectmonty-p<ythons-f>lying<-circu>s/Subject Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer A>udien<cef>ans/A<udience Id/ > Addit<ionalClaims Claim name=>39;status<39; ty>pe=<39;string'Dev>e<lopment/Cl>aim /AdditionalClaims /VerifyJWT檢查
<Algorithm>元素中指定的值。如果不是下列任一值:HS256、HS384、HS512、RS256、RS384、RS512這就是發生錯誤的原因
在上述驗證 JWT 政策範例中,
<Algorithm>名稱指定為HS128。因為系統不支援的演算法,所以會收到以下錯誤訊息:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
解析度
確認 <Algorithm> 元素中指定的值是系統支援的值之一:
HS256、HS384、HS512、RS256、RS384、RS512
如要修正上述使用 <SecretKey> 元素的驗證 JWT 政策範例,請將 <Algorithm> 的值變更為 HS25。請注意,使用 <SecretKey> 元素時,您只能使用 HS 家庭演算法。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
MissingConfigurationElement
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
錯誤訊息示例
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果 <PublicKey> 元素「未」用於 Verify JWT 政策中的 RSA 系列演算法,就會發生這個錯誤。同樣地,如果在 Verify JWT 政策中 <SecretKey> 元素並未搭配使用 HS 系列演算法,也可能會發生錯誤。
舉例來說,如未搭配 RSA 家庭演算法使用 <PublicKey> 元素,就會發生這項錯誤。
診斷
找出驗證 JWT 政策的名稱和錯誤訊息中缺少的元素名稱。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,缺少的元素名稱為PublicKey:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).檢查失敗的 JWT 政策 XML,並確認錯誤訊息中指定的元素不存在。如果缺少這個鍵,就是發生錯誤的原因。
舉例來說,下列政策顯示系統缺少
PublicKey,而使用的Algorithm為RS256:<VerifyJWT name="JWT-Verify-R>S256&<quot; D>isplayNameJWT Ve<rify RS256/D>ispla<yName > Algo<rithmRS256>/Algo<rithm IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables > E<xpiresIn1h>/Expi<resIn > Subjectmonty-pythons-fly<ing-circ>us/Su<bject<>/span> Issuerurn://apigee-edge-JWT-p<olicy-t>est/I<ssuer > Au<diencefan>s/Aud<ien>ce < Id/ Additi>onalClaim<s Claim name='claim' ref='reqclaim' t>ype=&<#39;string' a>r<ray='t>rue'/ /AdditionalClaims /VerifyJWT這項驗證 JWT 政策範例使用 HS 家庭演算法,但缺少必要的元素
PublicKey,因而導致錯誤:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
解析度
確保必要的 <PublicKey> 元素與 RSA 家庭演算法搭配使用,且必須使用必要的 <SecretKey> 元素與 HS 系列演算法搭配使用。
如要修正上述範例的驗證 JWT 政策 (使用 RS256 演算法),請將 <PublicKey> 元素新增至 VerifyJWT 政策:
<VerifyJWT name="JWT-Verify-R>S256&<quot;
D>isplayNameJWT Ve<rify RS256/Displa<yName
IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables
> Algo<rithmRS256>/Algo<rithm
> Public<Key
Value ref="pub>lic.p<ublickey&q>uot;/<
/Pub>li<cKey
E>xpire<sIn1h/E>xpiresIn
Subjectmonty-p<ythons-f>lying<-circu>s/Subject
Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer
A>udien<cef>ans/A<udience
Id/
> Additi<onalHeaders
Claim name='claim' ref='reqcl>aim<39; type='stri>n<g' arr>ay='true'/
/AdditionalHeaders
/VerifyJWT
InvalidKeyConfiguration
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision <revision_number> Invalid Key configuration : policy(policy_name).
錯誤訊息示例
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果 Verify JWT 政策的 <PublicKey> 或 <SecretKey> 元素並未定義子元素 <Value> 或必要的子元素 <JWKS>,就會發生這個錯誤。
診斷
找出錯誤訊息中的 Verify JWT 政策名稱。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256:Invalid Key configuration : policy(JWT-Verify-RS256).檢查未通過的 JWT 政策 XML,並確認
<PublicKey>或<SecretKey>元素中未定義子元素<Value>或子元素<JWKS>。如果未定義子項元素,表示發生錯誤。舉例來說,下列政策顯示,
<PublicKey>元素中未定義子元素<Value>或<JWKS>:<VerifyJWT name="JWT-Verify-R>S256&<quot; D>isplayNameJWT Ve<rify RS256/D>ispla<yName > Algo<rithmRS256>/Algo<rithm IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables > E<xpiresIn1h>/Expi<resIn > Publ<icKey >/Publ<icKey > Subjectmonty-pythons-fly<ing-circ>us/Su<bject<>/span> Issuerurn://apigee-edge-JWT-p<olicy-t>est/I<ssuer > Au<diencefan>s/Aud<ien>ce < Id/ Additi>onalClaim<s Claim name='claim' ref='reqclaim' t>ype=&<#39;string' a>r<ray='t>rue'/ /AdditionalClaims /VerifyJWT由於 Verify JWT 政策的
<PublicKey>元素並未定義子元素<Value>或<JWKS>,因此系統會顯示錯誤訊息:Invalid Key configuration : policy(JWT-Verify-RS256).
解析度
確認一律在 Verify JWT 政策的 <PublicKey> 元素中定義子項元素 <Value> 或 <JWKS>。
如要修正驗證 JWT 政策範例,請在 <PublicKey> 元素下方定義子元素 <Value> 或 <JWKS>,如下所示:
<VerifyJWT name="JWT-Verify-R>S256&<quot;
D>isplayNameJWT Ve<rify RS256/D>ispla<yName
> Algo<rithmRS256>/Algo<rithm
IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables
> PublicKe<y
Value ref="pub>lic.p<ublickey&q>uot;/<
/Pub>li<cKey
E>xpire<sIn1h/E>xpiresIn
Subjectmonty-p<ythons-f>lying<-circu>s/Subject
Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer
A>udien<cef>ans/A<udience
Id/
> Additi<onalHeaders
Claim name='claim' ref='reqcl>aim<39; type='stri>n<g' arr>ay='true'/
/AdditionalHeaders
/PublicJWT
EmptyElementForKeyConfiguration
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Empty Element for Key Configuration : policy(policy_name) element(element_name).
錯誤訊息示例
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果 <PublicKey> 元素中子元素 <Value> 或 <JWKS> 的參照屬性未指定或空白,就會發生這個錯誤。
舉例來說,如果 <PublicKey> 元素的子元素 <Value> 為空白,就會發生錯誤。
診斷
找出「Verify JWT」政策的名稱和元素名稱,而錯誤訊息中沒有任何內容。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,元素名稱為PublicKey/Value:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).檢查失敗的 JWT 政策 XML,並確認步驟 1 中指定的元素為空白。如果沒有任何內容,就是發生錯誤的原因。
舉例來說,下列政策顯示
<PublicKey>元素的子元素<Value>為空白:<VerifyJWT name="JWT-Verify-R>S256&<quot; D>isplayNameJWT Ve<rify RS256/D>ispla<yName > Algo<rithmRS256>/Algo<rithm IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables > E<xpiresIn1h>/Expi<resIn > PublicKe<y > V<alue/ >/Publ<icKey > Subjectmonty-pythons-fly<ing-circ>us/Su<bject<>/span> Issuerurn://apigee-edge-JWT-p<olicy-t>est/I<ssuer > Au<diencefan>s/Aud<ien>ce < Id/ Additi>onalClaim<s Claim name='claim' ref='reqclaim' t>ype=&<#39;string' a>r<ray='t>rue'/ /AdditionalClaims /VerifyJWT由於 Verify JWT 政策中
<PublicKey>元素的子元素<Value>沒有任何內容,因此您會收到錯誤訊息:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
解析度
請務必指定 <PublicKey> 元素子項元素 <Value> 或 <JWKS> 中的 ref 屬性。
如要修正驗證 JWT 政策範例,請在 <PublicKey> 元素的子項元素 <Value> 中使用資料流變數 public.publickey:
<VerifyJWT name="JWT-Verify-R>S256&<quot;
D>isplayNameJWT Ve<rify RS256/D>ispla<yName
> Algo<rithmRS256>/Algo<rithm
IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables
> PublicKe<y
Value ref="pub>lic.p<ublickey&q>uot;/<
/Pub>li<cKey
E>xpire<sIn1h/E>xpiresIn
Subjectmonty-p<ythons-f>lying<-circu>s/Subject
Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer
A>udien<cef>ans/A<udience
Id/
> Additi<onalHeaders
Claim name='claim' ref='reqcl>aim<39; type='stri>n<g' arr>ay='true'/
/AdditionalHeaders
/VerifyJWT
InvalidConfigurationForVerify
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
錯誤訊息示例
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果在 VerifyJWT 政策的 <SecretKey> 元素中定義了元素 <Id>,就會發生這個錯誤。
舉例來說,如果在 <SecretKey> 元素中定義了元素 <Id>,就會發生這個錯誤。
診斷
找出驗證 JWT 政策的名稱,以及錯誤訊息中的無效元素名稱。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,元素名稱為SecretKey/Id:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)檢查未通過的 JWT 政策 XML,並確認步驟 1 中指定的無效元素已定義。如果有定義的話,就是導致錯誤的原因。
舉例來說,下列政策顯示已定義
<SecretKey>元素的子元素<Id>:<VerifyJWT name="JWT-Verify-R>S256&<quot; D>isplayNameJWT Ve<rify RS256/D>ispla<yName > Algo<rithmRS256>/Algo<rithm IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables > E<xpiresIn1h>/Expi<resIn > SecretKe<y Value ref="priv>ate.secre<tke>y&quo<t;/ > Id/< /S>ecretKey Subjectmonty-p<ythons-f>lying<-circu>s/Subject Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer A>udien<cef>ans/A<udience Id/ > Addit<ionalClaims Claim name='claim' ref='reqcl>aim<39; type='str>i<ng' ar>ray='true'/ /AdditionalClaims /VerifyJWT由於
<Id>元素是在 Verify JWT 政策的<SecretKey>元素中定義,因此您會收到錯誤訊息:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
解析度
確認 Verify JWT 政策的 <SecretKey> 元素絕不會定義 <Id> 元素。
如要修正驗證 JWT 政策範例,請移除 <SecretKey> 元素中的子元素 <Id>:
<VerifyJWT name="JWT-Verify-R>S256&<quot;
D>isplayNameJWT Ve<rify RS256/D>ispla<yName
> Algo<rithmRS256>/Algo<rithm
IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables
> SecretKe<y
Value ref='priva>te.se<cretkey>9;/
< /Secre>tK<ey
Exp>iresI<n1h/Exp>iresIn
Subjectmonty-pyt<hons-fly>ing-c<ircus/>Subject
Issuerurn://apigee-ed<ge-JWT->polic<y-test/I>ssue<r
Aud>ience<fan>s/Aud<ience
Id/
> Addition<alHeaders
Claim name='claim' ref='reqclai>m'<; type='string>&<#39; array>='true'/
/AdditionalHeaders
/VerifyJWT
InvalidEmptyElement
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision <revision_number> Invalid empty element : policy(policy_name) element(element_name).
錯誤訊息示例
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果 Verify JWT 政策的 <Source> 元素空白,就會發生這個錯誤。如果存在,則必須以邊緣流程變數名稱定義。
診斷
找出驗證 JWT 政策的名稱,以及錯誤訊息中的空白元素名稱。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,元素名稱為PublicKey/Value:Invalid empty element : policy(JWT-Verify-HS256) element(Source).檢查失敗的 JWT 政策 XML,並確認步驟 1 中指定的元素為空白。如果沒有任何內容,就是發生錯誤的原因。
舉例來說,下列政策顯示元素
<Source>為空白:<VerifyJWT name="JWT-Verify-R>S256&<quot; D>isplayNameJWT Ve<rify RS256/D>ispla<yName > Algo<rithmRS256>/Algo<rithm IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables > E<xpiresIn1h>/Expi<resIn<>/span> < Sou>rce/S<ource > PublicKe<y Value ref="pub>lic.p<ublickey&q>uot;/< /P>ublicKey Subjectmonty-p<ythons-f>lying<-circu>s/Subject Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer A>udien<cef>ans/A<udience Id/ > Addit<ionalClaims Claim name='claim' ref='reqcl>aim<39; type='str>i<ng' ar>ray='true'/ /AdditionalClaims /VerifyJWTVerify JWT 政策的
<Source>元素沒有任何內容,因此您會收到錯誤訊息:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
解析度
如有 Verify JWT 政策的 <Source> 元素,請確認該元素指定了流程變數。
如要修正驗證 JWT 政策範例,請在 <Source> 元素中使用有效的流程變數:
<VerifyJWT name="JWT-Verify-R>S256&<quot;
D>isplayNameJWT Ve<rify RS256/D>ispla<yName
> Algo<rithmRS256>/Algo<rithm
IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables<>/span>
Sourcejw<t-varia>ble/S<ource
> PublicKe<y
Value ref="pub>lic.p<ublickey&q>uot;/<
/Pub>li<cKey
E>xpire<sIn1h/E>xpiresIn
Subjectmonty-p<ythons-f>lying<-circu>s/Subject
Issuerurn://apigee-<edge-JW>T-pol<icy-test>/Iss<uer
A>udien<cef>ans/A<udience
Id/
> Additi<onalHeaders
Claim name='claim' ref='reqcl>aim<39; type='stri>n<g' arr>ay='true'/
/AdditionalHeaders
/VerifyJWT
InvalidPublicKeyValue
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
錯誤訊息示例
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果 <PublicKey> 元素的子項元素 <JWKS> 使用的值不是 RFC 7517 中指定的有效格式,就會發生這個錯誤。
舉例來說,如果使用 abc 做為 <PublicKey> 元素下方子項元素 <JWKS> 的值,就會導致這項錯誤。
診斷
找出驗證 JWT 政策的名稱和元素名稱,其中包含錯誤訊息中的無效值。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-RS256,元素為PublicKey/JWKS:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).檢查失敗的 JWT 政策 XML,並確認步驟 1 中指定的元素根據 RFC 7517 規範的有效格式。如果元素的值不是有效的格式,就是造成錯誤的原因。
<VerifyJWT name="JWT-Verify-R>S256&<quot; D>isplayNameJWT Ve<rify RS256/D>ispla<yName > Algo<rithmRS256>/Algo<rithm IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables > PublicKe<y > < J>WKSab<cJWKS >/Publ<icKey > E<xpiresIn1h>/Expi<resIn > Subjectmonty-pythons-fly<ing-circ>us/Su<bject > Issuerurn://apigee-edge-JWT-p<olicy-t>est/I<ssuer > Au<diencefan>s/Aud<ien>c<e Id/ >/VerifyJWT由於
<PublicKey>元素的子元素<JWKS>中的值不符合 RFC 7517 規定的有效格式,因此您會收到錯誤訊息:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
解析度
確認 <PublicKey> 元素子元素 <JWKS> 中指定的值是有效 JWKS 格式的有效字串或資料流變數 (RFC 7517)。
如要修正驗證 JWT 政策範例,請變更 <JWKS> 的值,如下所示:
<VerifyJWT name="JWT-Verify-R>S256"<;
D>isplayNameJWT Ve<rify RS256/D>isplayNam<e
> Algo<rithmRS256>/Algorith<m
IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVariable<s
> PublicKe<y
> JWKSeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1<537t3>rGzcM/JWK<S
>/PublicKe<y
> E<xpiresIn1h>/ExpiresI<n
> Subjectmonty-pythons-fly<ing-circ>us/Subjec<t
> Issuerurn://apigee-edge-JWT-p<olicy-t>est/Issue<r
> Au<diencefan>s/Audienc<e
> < Id/
>/VerifyJWT
InvalidConfigurationForActionAndAlgorithm
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision <var>revision_number</var>
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).
錯誤訊息示例
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
螢幕截圖範例
邊緣 UI 中會顯示錯誤訊息:

原因
如果 <PublicKey> 元素與 HS 家庭演算法搭配使用,且 <SecretKey> 元素與 RSA 系列演算法搭配使用,就會發生這個錯誤。如果符合上述「任一」條件,這個錯誤也會發生。
舉例來說,同時使用 <PublicKey> 元素和 HS 家庭演算法會產生這個錯誤。
診斷
找出錯誤訊息中的 Verify JWT 政策名稱、元素名稱和演算法系列名稱。舉例來說,在下列錯誤訊息中,Verify JWT 政策名稱為
JWT-Verify-HS256,元素名稱為PublicKey,演算法系列為RSA:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).確認驗證失敗的 JWT 政策 XML 中使用的元素和演算法系列,與步驟 1 中錯誤訊息指出的元素和演算法系列相符。舉例來說,下列政策將元素指定為
PublicKey,演算法系列則指定為HMAC,與錯誤訊息的內容相符<VerifyJWT name="JWT-Verify-H>S256&<quot; D>isplayNameJWT Ve<rify HS256/D>ispla<yName > Algo<rithmHS256>/Algo<rithm IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVari<ables<>/span> Sourcerequest.for<mparam.>jwt/S<ource > PublicKe<y Value ref=&q>uot;v<ar-value&q>uot;/< /Pub>licKey < SecretKey Value ref=>"<;private.s>ecretkey&<quot;/ > </SecretKey> <Expires>In1h/ExpiresIn Subj<ectmonty>-pythons-<flying>-circus/Subject Issuerurn<://apig>ee-edge-J<WT-polic>y-te<st/Issuer> < Audien>cefans/Audience /VerifyJWT如果
<Algorithm>元素的值是HS256,但您使用<PublicKey>,這就是發生錯誤的原因。在上述驗證 JWT 政策範例中,即使
<Algorithm>已設為家庭演算法 HS256,還是會使用<PublicKey>元素,因而導致錯誤:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
解析度
請確認 <PublicKey> 元素僅搭配 RSA 家庭演算法使用,且 <SecretKey> 元素僅搭配 HS 系列演算法使用。
如要修正驗證 JWT 政策範例,請使用採用 HS256 演算法的 VerifyJWT 政策中的 <SecretKey>:
<VerifyJWT name="JWT-Verify-H>S256"<;
D>isplayNameJWT Ve<rify HS256/D>isplayNam<e
> Algo<rithmHS256>/Algorith<m
IgnoreUnresolve>dVari<ablesfalse/IgnoreUnresolve>dVariable<s
> Sourcerequest.for<mparam.>jwt/Sourc<e
> SecretKe<y
Value ref="priv>ate.s<ecretkey&q>uot;/
< /SecretK>ey<
E>xpiresIn1<h/Expir>esIn
Subjectmonty-p<ythons-f>lying-cir<cus/Su>bject
Issuerurn://apigee-<edge-JW>T-policy-<test/Iss>uer
< A>udien<cefans/Aud>ience
/VerifyJWT