أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
InvalidNameForAdditionalClaim
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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 يتطابق مع اسم المطالبة المحدّد في رسالة الخطأ في الخطوة 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>
إذا كان اسم المطالبة المستخدَم في العنصر الفرعي
<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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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
راجِع ملف XML لسياسة 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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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 يتطابق مع اسم العنوان المحدّد في رسالة الخطأ في الخطوة 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>
إذا كان اسم العنوان المستخدَم في العنصر الفرعي
<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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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 يتطابق مع اسم المطالبة المحدّد في رسالة الخطأ في الخطوة 1. على سبيل المثال، تحدّد السياسة التالية اسم المطالبة على أنّه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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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).
تحقَّق من ملف XML الخاص بسياسة 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 Family.
<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 أو واجهة برمجة تطبيقات إدارة 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 Family إلى ظهور هذا الخطأ.
التشخيص
حدد اسم سياسة التحقق من JWT واسم العنصر المفقود من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم سياسة "التحقّق من JWT" هو
JWT-Verify-RS256
واسم العنصر غير المتوفّر هوPublicKey
:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
افحص ملف XML لسياسة 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 Family، ولكن العنصر الإلزامي
PublicKey
غير موجود، ما يؤدي إلى ظهور الخطأ:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
الدقة
يجب التأكّد من استخدام عنصر <PublicKey>
الإلزامي مع خوارزميات عائلة RSA، واستخدام عنصر <SecretKey>
الإلزامي مع خوارزميات HS Family.
لتصحيح مثال سياسة "التحقق من JWT" الموضّح أعلاه، والتي تستخدم الخوارزمية RS256، أضِف العنصر <PublicKey>
إلى السياسة VerifyJWT:
<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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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).
تحقَّق من ملف XML الخاص بسياسة 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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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).
افحص ملف XML لسياسة JWT الذي تعذّر التحقّق منه وتحقَّق من أنّ العنصر المحدّد في الخطوة 1 فارغ. إذا كان فارغًا، فهذا هو سبب الخطأ.
على سبيل المثال، توضِّح السياسة التالية أنّ العنصر الفرعي
<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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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)
افحص ملف XML لسياسة JWT الذي تعذّر التحقّق منه وتحقَّق من تحديد العنصر غير الصالح المحدّد في الخطوة 1. إذا تم تحديده، فهذا هو سبب الخطأ.
على سبيل المثال، توضح السياسة التالية أنّه تم تحديد العنصر الفرعي
<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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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).
افحص ملف XML لسياسة JWT الذي تعذّر التحقّق منه وتحقَّق من أنّ العنصر المحدّد في الخطوة 1 فارغ. إذا كان فارغًا، فهذا هو سبب الخطأ.
على سبيل المثال، توضِّح السياسة التالية أنّ العنصر
<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>
لسياسة JavaScript 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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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).
افحص ملف XML الخاص بسياسة JWT الذي تعذّر التحقّق منه وتحقَّق من أنّ العنصر المحدَّد في الخطوة 1 يحتوي على قيمة بتنسيق صالح وفقًا لمعيار 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
رسالة الخطأ
تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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 Family مع استخدام العنصر <SecretKey>
مع خوارزميات RSA Family. سيحدث الخطأ أيضًا إذا انطبق أي من هذين الشرطين.
على سبيل المثال، يؤدي استخدام العنصر <PublicKey>
مع خوارزميات HS Family إلى ظهور هذا الخطأ.
التشخيص
حدد اسم سياسة التحقق من 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 مع العنصر ومجموعة الخوارزمية المحدّدة في رسالة الخطأ في الخطوة 1. على سبيل المثال، تحدّد السياسة التالية العنصر على أنّه
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 Family.
لتصحيح مثال سياسة 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>