يتم الآن عرض مستندات 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>
في سياسة التحقّق من JWT ليس أيًا من الأنواع التالية:
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 الذي تعذّر التحقّق من صحته يتطابق مع اسم المطالبة والنوع المحدّدَين في رسالة الخطأ في الخطوة 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>
إذا لم يكن نوع المطالبة المستخدَم في العنصر الفرعي
<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 الذي تعذّر التحقّق من صحته يتطابق مع اسم المطالبة والنوع المحدّدَين في رسالة الخطأ في الخطوة 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/> <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
لتصحيح المثال، يمكنك تغيير قيمة <Algorithm>
إلى HS25
، وذلك لتصحيح المثال الذي يستخدم العنصر <SecretKey>
وفقًا لسياسة JWT الموضحة أعلاه. ملاحظة: عند استخدام العنصر <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 إلى ظهور هذا الخطأ.
التشخيص
حدد اسم سياسة التحقق من 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 Family ومن استخدام العنصر <SecretKey>
الإلزامي مع خوارزميات HS Family.
لتصحيح المثال الخاص بسياسة التحقق من 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
رسالة الخطأ
يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم 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، سيظهر لك مربع حوار يحتوي على خطأ:
السبب
يحدث هذا الخطأ إذا لم يتم تحديد سمة المرجع في العنصر الفرعي <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 الذي تعذّر التحقق من صحته وتحقَّق من أنّ العنصر المحدّد في الخطوة 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).
درجة الدقّة
تأكَّد من تحديد سمة المرجع في العنصر الفرعي <Value>
أو <JWKS>
للعنصر <PublicKey>
بشكل دائم.
لتصحيح المثال، يمكنك استخدام متغير التدفق 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>
في سياسة التحقّق من JWT.
على سبيل المثال، يحدث هذا الخطأ إذا تم تحديد العنصر <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 الذي تعذّر التحقق من صحته وتحقَّق من أنّ العنصر المحدّد في الخطوة 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>
لسياسة "التحقق من 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 Family، وأنّ العنصر <SecretKey>
لا يُستخدم إلا مع خوارزميات HS Family.
لتصحيح مثال سياسة "التحقق من JWT"، يمكنك استخدام <SecretKey>
من سياسة التحقّق من JWT التي تستخدم خوارزمية 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>