درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
InvalidNameForAdditionalClaim
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision revision_number Invalid name for additional claim : policy(policy_name) claim(claim_name).
پیام خطای نمونه
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
این خطا زمانی رخ میدهد که نام ادعای استفادهشده در عنصر فرزند <Claim> عنصر <AdditionalClaims> یکی از نامهای ثبتشده زیر باشد:
«kid»، «iss»، «sub»، «aud»، «iat»، «exp»، «nbf»، «jti»
ادعاهای ثبتشده در RFC7519 مشخص شدهاند.
برای مثال، استفاده از نام ادعای iss در عنصر <AdditionalClaims> منجر به این خطا خواهد شد.
تشخیص
نام خطمشی «درستیسنجی JWT» و نام ادعا را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-RS256و نام ادعاissاست:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).تأیید کنید که نام ادعای استفادهشده تحت عنصر
<AdditionalClaims>در XML خطای خطمشی «تأیید JWT» با نام ادعای شناساییشده در پیام خطا در «مرحله ۱» مطابقت دارد. برای مثال، خطمشی زیر ادعا را بهعنوان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>اگر نام دعوی استفادهشده در عنصر فرزند
<Claim>عنصر<AdditionalClaims>یکی از نامهای ثبتشده زیر باشد:«kid»، «iss»، «sub»، «aud»، «iat»، «exp»، «nbf»، «jti»
پس این دلیل خطا است.
در خطمشی «درستیسنجی JWT» که در بالا نشان داده شده است، نام
<Claim>بهعنوانissدر عنصر<AdditionalClaims>مشخص شده است که منجر به این خطا میشود:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
وضوح
از هیچیک از نامهای ثبتشده «kid»، «iss»، «sub»، «aud»، «iat»، «exp»، «nbf»، یا «jti» در عنصر فرزند <Claim> عنصر <AdditionalClaims> استفاده نکنید.
برای اصلاح مشکل خطمشی «درستیسنجی JWT» نمونه، نام ادعا را به status تغییر دهید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
InvalidTypeForAdditionalClaim
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision revision_number Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
پیام خطای نمونه
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
نوع ادعای استفادهشده در عنصر فرزند <Claim> عنصر <AdditionalClaims> خطمشی VerifyJWT یکی از انواع زیر نیست:
string (پیشفرض)، number، boolean، یا map
برای مثال، استفاده از نوع ادعای integer در عنصر <AdditionalClaims> منجر به خطا خواهد شد.
تشخیص
نام خطمشی «درستیسنجی JWT»، نام ادعا، و نوع را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-RS256، نام ادعاclaim، و نوعinteger:استInvalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).تأیید کنید که نام ادعا و نوع استفادهشده تحت عنصر
<AdditionalClaims>در XML خطمشی «تأیید JWT» ناموفق با نام ادعا و نوع شناساییشده در پیام خطا در «مرحله ۱» مطابقت دارد. برای مثال، خطمشی زیر ادعا را بهعنوان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>اگر نوع ادعای استفادهشده در عنصر فرزند
<Claim>عنصر<AdditionalClaims>یکی از انواع زیر نباشد:
string(پیشفرض)،number،boolean، یاmapپس این دلیل خطا است.
در خطمشی «درستیسنجی JWT» که در بالا نشان داده شده است، نوع
<Claim>بهعنوانintegerدر عنصر<AdditionalClaims>مشخص شده است. چونintegerنوع پشتیبانیشدهای نیست، این خطا را دریافت میکنید:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
وضوح
مطمئن شوید که فقط از انواع داده پشتیبانیشده string (پیشفرض)، number، boolean، یا map در عنصر فرزند <Claim> عنصر <AdditionalClaims> استفاده شده است.
برای اصلاح خطمشی «درستیسنجی JWT» نمونه، نوع ادعا را به boolean تغییر دهید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
MissingNameForAdditionalClaim
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision revision_number Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
پیام خطای نمونه
Error Saving Revision 2
Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
این خطا زمانی رخ میدهد که نام دعوی در عنصر فرزند <Claim> از عنصر <AdditionalClaims> یا <AdditionalHeaders> مشخص نشده باشد.
تشخیص
نام خطمشی «تأیید JWT» را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-RS256است:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim«زبان نشانهگذاری توسعهپذیر» خطمشی «درستیسنجی JWT» ناموفق را بررسی کنید و مطمئن شوید نام ادعا در عنصر فرزند
<Claims>در عنصر<AdditionalClaims>یا<AdditionalHeaders>وجود ندارد. برای مثال، خطمشی «درستیسنجی JWT» زیر نام ادعا را در عنصر<AdditionalClaims>مشخص نمیکند:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </VerifyJWT>چون نام
<Claim>در عنصر<AdditionalClaims>مشخص نشده است، این خطا را دریافت میکنید:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
وضوح
مطمئن شوید که نام ادعا همیشه در عنصر فرزند <Claim> از عنصر <AdditionalClaims> یا <AdditionalHeaders> مشخص شده است.
برای اصلاح خطمشی «تأیید JWT» نمونه، نام ادعا را همانطور که در زیر نشان داده شده است مشخص کنید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
InvalidNameForAdditionalHeader
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision revision_number Invalid name for additional header : policy(policy_name)header(header_name).
پیام خطای نمونه
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
این خطا زمانی رخ میدهد که نام ادعای استفادهشده در عنصر فرزند <Claim> عنصر <AdditionalHeaders> یکی از سرایندهای استاندارد JWT زیر باشد:
alg یا typ
برای مثال، استفاده از نام ادعا alg در عنصر <AdditionalHeaders> باعث بروز خطا خواهد شد.
تشخیص
نام خطمشی «درستیسنجی JWT» و نام سرصفحه را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-RS256و نام سرایندalgاست:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).تأیید کنید که نام سرصفحه استفادهشده در عنصر فرزند
<Claim>در عنصر<AdditionalHeaders>در فایل XML خطمشی «تأیید JWT» نام سرصفحه مشخصشده در پیام خطا در «مرحله ۱» مطابقت داشته باشد. برای مثال، خطمشی زیر سرصفحه را بهعنوان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>اگر نام سرایند استفادهشده در عنصر فرزند
<Claim>عنصر<AdditionalClaims>یکی از سرایندهای استاندارد JWT زیر باشد:
algیاtypپس این دلیل خطا است.
در خطمشی «درستیسنجی JWT» که در بالا نشان داده شده است، نام
<Claim>بهعنوانalgدر عنصر<AdditionalClaims>مشخص شده است که منجر به این خطا میشود:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
وضوح
از سرایندهای استاندارد JWT alg یا typ در عنصر فرزند <Claim> عنصر <AdditionalHeaders> استفاده نکنید.
برای اصلاح خطمشی «تأیید JWT» نمونه، از نام x5c در عنصر فرزند <Claim> عنصر <AdditionalHeaders> استفاده کنید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidTypeForAdditionalHeader
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision revision_number Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
پیام خطای نمونه
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim1) type(integer).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
اگر نوع ادعای استفادهشده در عنصر فرزند <Claim> عنصر <AdditionalHeaders> خطمشی «درستیسنجی JWT» یکی از انواع زیر نباشد، خطا رخ میدهد:
string (پیشفرض)، number، boolean، یا map
برای مثال، استفاده از نوع ادعای integer در عنصر <AdditionalHeaders> باعث بروز خطا میشود.
تشخیص
نام خطمشی «درستیسنجی JWT»، نام ادعا، و نوع را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-RS256، نام ادعاclaim، و نوعintegerاست:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).تأیید کنید که نام ادعا و نوع استفادهشده تحت عنصر
<AdditionalClaims>در XML خطمشی «تأیید JWT» ناموفق با نام ادعا و نوع شناساییشده در پیام خطا در «مرحله ۱» مطابقت دارد. برای مثال، خطمشی زیر ادعا را بهعنوانclaimو نوع ادعا را بهعنوانinteger,مشخص میکند که با آنچه در پیام خطا آمده است مطابقت دارد:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </VerifyJWT>اگر نوع ادعای استفادهشده در عنصر فرزند
<Claim>عنصر<AdditionalHeaders>یکی از انواع زیر نباشد:
string(پیشفرض)،number،boolean، یاmapپس این دلیل خطا است.
در خطمشی «درستیسنجی JWT» که در بالا نشان داده شده است، نوع
<Claim>در عنصر<AdditionalHeaders>بهعنوانintegerمشخص شده است. چونintegerنوع پشتیبانیشدهای نیست، این خطا را دریافت میکنید:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
وضوح
مطمئن شوید که فقط از انواع داده پشتیبانیشده string، number، boolean، یا map در عنصر فرزند <Claim> عنصر <AdditionalHeaders> استفاده شده است.
برای اصلاح خطمشی «درستیسنجی JWT» نمونه، نوع ادعا را به boolean تغییر دهید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueOfArrayAttribute
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision revision_number Invalid value for array attribute: policy(policy_name)claim(claim_name).
پیام خطای نمونه
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
این خطا زمانی رخ میدهد که مقدار مشخصه آرایه در عنصر فرزند <Claim> از عنصر <AdditionalClaims> یا <AdditionalHeaders> روی true یا false تنظیم نشده باشد.
برای مثال، تنظیم مقدار مشخصه آرایه بهعنوان yes در عنصر فرزند <Claim> عنصر <AdditionalClaims> یا <AdditionalHeaders> باعث بروز خطا میشود.
تشخیص
نام خطمشی «درستیسنجی JWT» و نام ادعا را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-RS256و نام ادعاclaimاست:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).تأیید کنید که نام ادعای استفادهشده در عنصر فرزند
<Claim>در عنصر<AdditionalHeaders>در XML خطمشی «درستیسنجی JWT» ناموفق با نام ادعای شناساییشده در پیام خطا در «مرحله ۱» مطابقت دارد. برای مثال، خطمشی زیر نام دعوی را بهعنوانclaimمشخص میکند که با آنچه در پیام خطا آمده است مطابقت دارد:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </VerifyJWT>اگر مقدار مشخصه
arrayدر عنصر فرزند<Claim>عنصر<AdditionalClaims>رویtrueیاfalseتنظیم نشده باشد، دلیل خطا همین است.ازآنجاییکه مشخصه
arrayدر عنصر فرزند<Claim>عنصر<AdditionalClaims>در مثال بالا رویyesتنظیم شده است، این خطا را دریافت میکنید:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
وضوح
مطمئن شوید که مقدار مشخصه آرایه در عنصر فرزند <Claim> از عناصر <AdditionalClaims> یا <AdditionalHeaders> روی true یا false تنظیم شده باشد.
برای اصلاح خطمشی «درستیسنجی JWT» نشاندادهشده در بالا، مقدار مشخصه آرایه را به true تغییر دهید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueForElement
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
پیام خطای نمونه
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
این خطا زمانی رخ میدهد که مقدار مشخصشده در عنصر <Algorithm> یکی از مقادیر زیر نباشد:
HS256، HS384، HS512، RS256، RS384، RS512
برای مثال، مشخص کردن مقدار الگوریتم بهعنوان RS128 در عنصر <Algorithm> منجر به این خطا میشود.
تشخیص
نام خطمشی «درستیسنجی JWT» و نام عنصر را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «تأیید JWT»
JWT-Verify-RS256و نام عنصرAlgorithmاست:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).«زبان نشانهگذاری توسعهپذیر» خطمشی «درستیسنجی JWT» ناموفق را بررسی کنید و مقدار مشخصشده برای عنصر
<Algorithm>را بررسی کنید.در اینجا نمونهای از خطمشی «تأیید JWT» آورده شده است:
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS128</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </VerifyJWT>مقدار مشخصشده در عنصر
<Algorithm>را بررسی کنید. اگر یکی از مقادیر زیر نباشد:
HS256،HS384،HS512،RS256،RS384،RS512پس این دلیل خطا است.
در خطمشی «درستیسنجی JWT» که در بالا نشان داده شده است، نام
<Algorithm>بهعنوانHS128مشخص شده است. چون این الگوریتم پشتیبانی نمیشود، این خطا را دریافت میکنید:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
وضوح
مطمئن شوید که مقدار مشخصشده در عنصر <Algorithm> یکی از مقادیر پشتیبانیشده باشد:
HS256، HS384، HS512، RS256، RS384، RS512
برای اصلاح خطمشی «درستیسنجی JWT» نشاندادهشده در بالا که از عنصر <SecretKey> استفاده میکند، مقدار <Algorithm> را به HS25 تغییر دهید. توجه داشته باشید که وقتی از عنصر <SecretKey> استفاده میکنید، فقط میتوانید از الگوریتمهای «خانواده HS» استفاده کنید.
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
MissingConfigurationElement
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
پیام خطای نمونه
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
این خطا زمانی رخ میدهد که عنصر <PublicKey> با الگوریتمهای «خانواده RSA» در خطمشی «درستیسنجی JWT» استفاده نشود. بههمین ترتیب، اگر عنصر <SecretKey> با الگوریتمهای HS Family در خطمشی «درستیسنجی JWT» استفاده نشود، این خطا ممکن است رخ دهد.
برای مثال، استفاده نکردن از عنصر <PublicKey> با الگوریتمهای «خانواده RSA» منجر به این خطا میشود.
تشخیص
نام خطمشی «درستیسنجی JWT» و نام عنصر ازدسترفته را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-RS256و نام عنصر ازدسترفتهPublicKeyاست:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).«زبان نشانهگذاری توسعهپذیر» خطمشی «درستیسنجی JWT» ناموفق را بررسی کنید و مطمئن شوید عنصری که در پیام خطا نشان داده شده است وجود ندارد. اگر وجود ندارد، دلیل خطا همین است.
برای مثال، خطمشی زیر نشان میدهد که
PublicKeyوجود ندارد وAlgorithmاستفادهشدهRS256است:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>خطمشی نمونه «تأیید JWT» از الگوریتمهای «خانواده HS» استفاده میکند، اما عنصر اجباری
PublicKeyوجود ندارد و درنتیجه خطای زیر رخ میدهد:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
وضوح
مطمئن شوید که عنصر اجباری <PublicKey> با الگوریتمهای «خانواده RSA» و عنصر اجباری <SecretKey> با الگوریتمهای «خانواده HS» استفاده میشود.
برای اصلاح خطمشی «درستیسنجی JWT» مثال نشاندادهشده در بالا که از الگوریتم RS256 استفاده میکند، عنصر <PublicKey> را به خطمشی «درستیسنجی JWT» اضافه کنید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Algorithm>RS256</Algorithm>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidKeyConfiguration
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
پیام خطای نمونه
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
این خطا زمانی رخ میدهد که عنصر فرزند <Value> یا عنصر فرزند اجباری <JWKS> در عناصر <PublicKey> یا <SecretKey> خطمشی «تأیید JWT» تعریف نشده باشد.
تشخیص
نام خطمشی «تأیید JWT» را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-RS256است:Invalid Key configuration : policy(JWT-Verify-RS256).«زبان نشانهگذاری توسعهپذیر خطمشی درستیسنجی JWT» ناموفق را بررسی کنید و مطمئن شوید عنصر فرزند
<Value>یا عنصر فرزند<JWKS>در عناصر<PublicKey>یا<SecretKey>تعریف نشده است. اگر عنصر فرزند تعریف نشده باشد، این دلیل خطا است.برای مثال، خطمشی زیر نشان میدهد که عنصر فرزند
<Value>یا<JWKS>در عنصر<PublicKey>تعریف نشده است:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>چون عنصر فرزند
<Value>یا<JWKS>در عنصر<PublicKey>خطمشی «درستیسنجی JWT» تعریف نشده است، این خطا را دریافت میکنید:Invalid Key configuration : policy(JWT-Verify-RS256).
وضوح
مطمئن شوید که عنصر فرزند <Value> یا <JWKS> همیشه در عنصر <PublicKey> خطمشی «درستیسنجی JWT» تعریف شده باشد.
برای اصلاح خطمشی «درستیسنجی JWT» نمونه، عنصر فرزند <Value> یا <JWKS> را در عنصر <PublicKey> همانگونه که در زیر نشان داده شده است تعریف کنید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</PublicJWT>
EmptyElementForKeyConfiguration
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision revision_number Empty Element for Key Configuration : policy(policy_name) element(element_name).
پیام خطای نمونه
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
اگر مشخصه ref در عنصر فرزند <Value> یا <JWKS> عنصر <PublicKey> مشخص نشده باشد یا خالی باشد، این خطا رخ میدهد.
برای مثال، اگر عنصر فرزند <Value> عنصر <PublicKey> خالی باشد، خطا رخ میدهد.
تشخیص
نام خطمشی «درستیسنجی JWT» و نام عنصری را که از پیام خطا خالی است شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «تأیید JWT»
JWT-Verify-RS256و نام عنصرPublicKey/Valueاست:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).«خطمشی درستیسنجی JWT» ناموفق XML را بررسی کنید و مطمئن شوید عنصری که در «مرحله ۱» شناسایی شده است خالی باشد. اگر خالی باشد، دلیل خطا همین است.
برای مثال، خطمشی زیر نشان میدهد که عنصر فرزند
<Value>عنصر<PublicKey>خالی است:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> <Value/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>چون عنصر فرزند
<Value>عنصر<PublicKey>خطمشی «درستیسنجی JWT» خالی است، این خطا را دریافت میکنید:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
وضوح
مطمئن شوید که مشخصه ref در عنصر فرزند <Value> یا <JWKS> عنصر <PublicKey> همیشه مشخص شده باشد.
برای اصلاح خطمشی «درستیسنجی JWT» نمونه، از متغیر جریان public.publickey در عنصر فرزند <Value> عنصر <PublicKey> استفاده کنید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidConfigurationForVerify
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
پیام خطای نمونه
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
این خطا زمانی رخ میدهد که عنصر <Id> در عنصر <SecretKey> خطمشی VerifyJWT تعریف شده باشد.
برای مثال، اگر عنصر <Id> در عنصر <SecretKey> تعریف شده باشد، این خطا رخ میدهد.
تشخیص
نام خطمشی «درستیسنجی JWT» و نام عنصر نامعتبر را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-RS256و نام عنصرSecretKey/Idاست:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)«زبان نشانهگذاری توسعهپذیر» خطمشی «درستیسنجی JWT» ناموفق را بررسی کنید و مطمئن شوید عنصر نامعتبر شناساییشده در «مرحله ۱» تعریف شده است. اگر تعریف شده باشد، آن علت خطا است.
برای مثال، خطمشی زیر نشان میدهد که عنصر فرزند
<Id>عنصر<SecretKey>تعریف شده است:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="private.secretkey"/> <Id/> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>چون عنصر
<Id>در عنصر<SecretKey>خطمشی «درستیسنجی JWT» تعریف شده است، این خطا را دریافت میکنید:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
وضوح
مطمئن شوید که عنصر <Id> هرگز در عنصر <SecretKey> خطمشی «درستیسنجی JWT» تعریف نشده باشد.
برای اصلاح خطمشی «درستیسنجی JWT» نمونه، عنصر فرزند <Id> را از عنصر <SecretKey> بردارید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref='private.secretkey'/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidEmptyElement
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
پیام خطای نمونه
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
اگر عنصر <Source> خطمشی «درستیسنجی JWT» خالی باشد، این خطا رخ میدهد. اگر وجود داشته باشد، باید با نام متغیر جریان Edge تعریف شود.
تشخیص
نام خطمشی «درستیسنجی JWT» و نام عنصر خالی را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-RS256و نام عنصرPublicKey/Valueاست:Invalid empty element : policy(JWT-Verify-HS256) element(Source).«خطمشی درستیسنجی JWT» ناموفق XML را بررسی کنید و مطمئن شوید عنصری که در «مرحله ۱» شناسایی شده است خالی باشد. اگر خالی باشد، دلیل خطا همین است.
برای مثال، خطمشی زیر نشان میدهد که عنصر
<Source>خالی است:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Source></Source> <PublicKey> <Value ref="public.publickey"/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>چون عنصر
<Source>خطمشی «درستیسنجی JWT» خالی است، این خطا را دریافت میکنید:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
وضوح
اگر عنصر <Source> در خطمشی «درستیسنجی JWT» وجود دارد، مطمئن شوید که متغیر جاری را مشخص میکند.
برای اصلاح خطمشی «تأیید JWT» نمونه، از متغیر جاری معتبری در عنصر <Source> استفاده کنید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>jwt-variable</Source>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidPublicKeyValue
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
پیام خطای نمونه
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
این خطا زمانی رخ میدهد که مقدار استفادهشده در عنصر فرزند <JWKS> عنصر <PublicKey> در قالب معتبری که در RFC 7517 مشخص شده است نباشد.
برای مثال، استفاده از abc بهعنوان مقدار عنصر فرزند <JWKS> در عنصر <PublicKey> منجر به این خطا میشود.
تشخیص
نام خطمشی «درستیسنجی JWT» و نام عنصری را که حاوی مقدار نامعتبر است از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «تأیید JWT»
JWT-Verify-RS256و عنصرPublicKey/JWKSاست:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).«زبان نشانهگذاری توسعهپذیر» خطمشی «درستیسنجی JWT» ناموفق را بررسی کنید و مطمئن شوید عنصری که در «مرحله ۱» شناسایی شده است طبق RFC 7517 دارای مقدار با قالب معتبر باشد. اگر مقدار عنصر در قالب معتبر نباشد، دلیل خطا همین است.
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PublicKey> <JWKS>abc<JWKS> </PublicKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> </VerifyJWT>ازآنجاییکه مقدار عنصر فرزند
<JWKS>عنصر<PublicKey>در قالب معتبری مطابق با RFC 7517 نیست، این خطا را دریافت میکنید:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
وضوح
مطمئن شوید مقداری که در عنصر فرزند <JWKS> عنصر <PublicKey> مشخص شده است رشته یا متغیر جاری معتبری در قالب JWKS معتبر (RFC 7517) باشد.
برای اصلاح خطمشی «درستیسنجی JWT» نمونه، مقدار <JWKS> را همانگونه که در زیر نشان داده شده است تغییر دهید:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<JWKS>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM</JWKS>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
</VerifyJWT>
InvalidConfigurationForActionAndAlgorithm
پیام خطا
استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامهسازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:
Error Saving Revision <var>revision_number</var>
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).
پیام خطای نمونه
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
نماگرفت نمونه
در «میانای کاربری Edge»، کادر گفتگویی با خطا مشاهده خواهید کرد:

علت
این خطا زمانی رخ میدهد که عنصر <PublicKey> با الگوریتمهای «خانواده HS» و عنصر <SecretKey> با الگوریتمهای «خانواده RSA» استفاده شود. اگر هریک از این شرایط درست باشد، خطا نیز رخ خواهد داد.
برای مثال، استفاده از عنصر <PublicKey> با الگوریتمهای «خانواده HS» منجر به این خطا میشود.
تشخیص
نام خطمشی «درستیسنجی JWT»، نام عنصر، و نام خانواده الگوریتم را از پیام خطا شناسایی کنید. برای مثال، در پیام خطای زیر، نام خطمشی «درستیسنجی JWT»
JWT-Verify-HS256، نام عنصرPublicKey، و خانواده الگوریتمRSAاست:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).تأیید کنید که عنصر و خانواده الگوریتم استفادهشده در XML خطمشی «تأیید JWT» ناموفق با عنصر و خانواده الگوریتم شناساییشده در پیام خطا در «مرحله ۱» مطابقت دارد. برای مثال، خطمشی زیر عنصر را بهعنوان
PublicKeyو خانواده الگوریتم را بهعنوانHMACمشخص میکند که با آنچه در پیام خطا است مطابقت دارد<VerifyJWT name="JWT-Verify-HS256"> <DisplayName>JWT Verify HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request.formparam.jwt</Source> <PublicKey> <Value ref="var-value"/> </PublicKey> <SecretKey> <Value ref="private.secretkey"/> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> </VerifyJWT>اگر مقدار عنصر
<Algorithm>برابر باHS256است، اما از<PublicKey>استفاده کردهاید، این دلیل خطا است.در خطمشی «درستیسنجی JWT» مثال نشاندادهشده در بالا، عنصر
<PublicKey>استفاده میشود حتی اگر<Algorithm>روی الگوریتم خانواده HS256 تنظیم شده باشد، که منجر به این خطا میشود:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
وضوح
مطمئن شوید که عنصر <PublicKey> فقط با الگوریتمهای «خانواده RSA» و عنصر <SecretKey> فقط با الگوریتمهای «خانواده HS» استفاده میشود.
برای اصلاح خطمشی نمونه «تأیید خطمشی JWT»، از <SecretKey> خطمشی VerifyJWT که از الگوریتم HS256 استفاده میکند استفاده کنید:
<VerifyJWT name="JWT-Verify-HS256">
<DisplayName>JWT Verify HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>request.formparam.jwt</Source>
<SecretKey>
<Value ref="private.secretkey"/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
</VerifyJWT>