تحديد المشاكل وحلّها في ما يتعلّق بنشر سياسة GenerateJWT

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

InvalidNameForAdditionalClaim

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Invalid name for additional claim : policy(policy_name) claim(claim_name).

مثال على رسالة الخطأ

Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا كان اسم الادّعاء المستخدَم في العنصر الفرعي <Claim> للعنصر <AdditionalClaims> هو أحد الأسماء المسجّلة التالية:

"kid" و"iss" و"sub" و"aud" و"iat" و"exp" و"nbf" و"jti"

يتم تحديد المطالبات المسجَّلة في RFC7519.

على سبيل المثال، سيؤدي استخدام اسم المطالبة iss ضمن العنصر <AdditionalClaims> إلى ظهور هذا الخطأ.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم المطالبة من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم إنشاء سياسة JWT هو JWT-Generate-HS256 واسم المطالبة هو iss:

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    
  2. تحقَّق من أنّ اسم المطالبة المستخدَم ضمن العنصر <AdditionalClaims> في ملف XML الذي تعذّر إنشاء سياسة JWT يتطابق مع اسم المطالبة المحدّد في رسالة الخطأ (الخطوة 1 أعلاه). على سبيل المثال، تحدِّد السياسة التالية المطالبة على أنّها iss، ما يتطابق مع ما ورد في رسالة الخطأ:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name="iss"/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. إذا كان اسم المطالبة المستخدَم في العنصر الفرعي <Claim>للعنصر<AdditionalClaims> هو أحد الأسماء المسجَّلة التالية:

    "kid" و"iss" و"sub" و"aud" و"iat" و"exp" و"nbf" و"jti"

    فسيكون هذا هو سبب الخطأ.

    في مثال إنشاء سياسة JWT المعروض أعلاه، يتم تحديد اسم <Claim> على أنّه iss ضمن العنصر <AdditionalClaims>، ما يؤدي إلى حدوث الخطأ التالي:

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    

درجة الدقّة

لا تستخدِم أي اسم من الأسماء المسجَّلة "kid" أو "iss" أو "sub" أو "aud" أو "iat" أو "exp" أو "nbf" أو "jti" في العنصر الفرعي <Claim>للعنصر <AdditionalClaims>.

لتصحيح مثال إنشاء سياسة JWT الموضح أعلاه، يمكنك تغيير اسم المطالبة إلى status:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='status' type='string'>Development</Claim>
    </AdditionalClaims>
</GenerateJWT>

InvalidTypeForAdditionalClaim

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).

مثال على رسالة الخطأ

Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا لم يكن نوع المطالبة المستخدَم في العنصر الفرعي <Claim> للعنصر <AdditionalClaims> ضِمن سياسة GenerateJWT أحد الأنواع التالية:

string (الخيار التلقائي) أو number أو boolean أو map

على سبيل المثال، إذا استخدمت نوع المطالبة integer ضمن العنصر <AdditionalClaims>، سيؤدي ذلك إلى حدوث خطأ.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم المطالبة ونوع المطالبة من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، اسم سياسة إنشاء JWT هو JWT-Generate-HS256 واسم المطالبة claim ونوع المطالبة هو integer:

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. تحقَّق من أنّ اسم المطالبة والنوع المستخدَم ضمن العنصر <AdditionalClaims> في ملف XML الذي تعذّر إنشاء سياسة JWT يتطابق مع اسم المطالبة والنوع المحدّدَين في رسالة الخطأ في الخطوة 1. على سبيل المثال، تحدِّد السياسة التالية المطالبة على أنّها claim والنوع على أنّها integer، ويتطابقان مع المحتوى الوارد في رسالة الخطأ:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='integer'/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. إذا لم يكن نوع المطالبة المستخدَم في العنصر الفرعي <Claim> للعنصر <AdditionalClaims> من الأنواع التالية:

    string (الخيار التلقائي) أو number أو boolean أو map

    فسيكون هذا هو سبب الخطأ.

    في مثال إنشاء سياسة JWT الموضّح أعلاه، يتم تحديد النوع <Claim> ضمن العنصر <AdditionalClaims> على أنّه integer. بما أنّ النوع "integer" ليس من الأنواع المتوافقة، ستظهر لك رسالة الخطأ:

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

درجة الدقّة

تأكَّد من استخدام أنواع البيانات المتوافقة فقط، مثل string أو number أو boolean أو map في العنصر الفرعي <Claim> للعنصر <AdditionalClaims>.

لتصحيح مثال إنشاء سياسة JWT الموضّح أعلاه، غيِّر نوع المطالبة إلى boolean.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</GenerateJWT>

MissingNameForAdditionalClaim

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.

مثال على رسالة الخطأ

Error Saving Revision 2
Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا لم يتم تحديد اسم المطالبة في العنصر الفرعي <Claim> في <AdditionalClaims> أو <AdditionalHeaders>.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT من رسالة الخطأ. مثلاً، في رسالة الخطأ التالية، يكون اسم سياسة إنشاء JWT هو JWT-Generate-HS256:

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. تحقَّق من ملف XML الذي تعذّر إنشاء سياسة JWT عليه وتأكّد مما إذا كان اسم المطالبة غير متوفّر في العنصر الفرعي <Claims> ضمن العنصر <AdditionalClaims> أو <AdditionalHeaders>. على سبيل المثال، لا تحدّد سياسة إنشاء JWT التالية اسم المطالبة ضمن عنصر <AdditionalClaims>:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim ref='reqclaim' type='boolean'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    بما أنّه لم يتم تحديد اسم <Claim> ضمن العنصر <AdditionalClaims>، ستظهر لك رسالة الخطأ:

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    

درجة الدقّة

تأكَّد من أنّ اسم المطالبة محدَّد دائمًا في العنصر الفرعي <Claim> في <AdditionalClaims> أو <AdditionalHeaders>.

لتصحيح مثال إنشاء سياسة JWT الموضح أعلاه، عليك تحديد اسم المطالبة كما هو موضّح أدناه:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</GenerateJWT>

InvalidNameForAdditionalHeader

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Invalid name for additional header : policy(policy_name)header(header_name).

مثال على رسالة الخطأ

Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا كان اسم المطالبة المستخدَمة في العنصر الفرعي <Claim> للعنصر <AdditionalHeaders> هو أحد عناوين JWT العادية التالية:

alg أو typ

على سبيل المثال، إذا استخدمت اسم المطالبة alg ضمن العنصر <AdditionalHeaders>، سيؤدي ذلك إلى حدوث الخطأ.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم العنوان من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم إنشاء سياسة JWT هو JWT-Generate-HS256 واسم العنوان هو alg:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. تحقَّق من أنّ اسم الرأس المستخدَم في العنصر الفرعي <Claim> ضمن العنصر <AdditionalHeaders> في ملف XML الذي تعذّر إنشاء سياسة JWT يتطابق مع اسم العنوان المحدّد في رسالة الخطأ في الخطوة 1. على سبيل المثال، تحدِّد السياسة التالية العنوان على أنّه alg، ما يتطابق مع ما ورد في رسالة الخطأ:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalHeaders>
            <Claim name="alg"/>
        </AdditionalHeaders>
    </GenerateJWT>
    
  3. إذا كان اسم الرأس المستخدَم في العنصر الفرعي <Claim> للعنصر <AdditionalClaims> هو أحد عناوين JWT القياسية التالية:

    alg أو typ

    فسيكون هذا هو سبب الخطأ.

    في مثال إنشاء سياسة JWT المعروض أعلاه، يتم تحديد اسم <Claim> على أنّه alg ضمن العنصر <AdditionalClaims>، ما يؤدي إلى حدوث الخطأ التالي:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    

درجة الدقّة

لا تستخدِم عناوين JWT العادية alg أو typ في العنصر الفرعي <Claim> للعنصر <AdditionalHeaders>.

لتصحيح مثال إنشاء سياسة JWT الموضح أعلاه، يمكنك استخدام الاسم x5c في العنصر الفرعي <Claim> للعنصر <AdditionalHeaders>:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='x5c'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidTypeForAdditionalHeader

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).

مثال على رسالة الخطأ

Error Saving Revision 2
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim1) type(integer).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث الخطأ إذا لم يكن نوع المطالبة المستخدَم في العنصر الفرعي <Claim> للعنصر <AdditionalHeaders> ضِمن سياسة GenerateJWT أحد الأنواع التالية:

string (التلقائية) أو number أو boolean أو map.

على سبيل المثال، إذا استخدمت نوع المطالبة integer ضمن العنصر <AdditionalHeaders>، سيؤدي ذلك إلى حدوث الخطأ.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم المطالبة ونوع المطالبة من رسالة الخطأ. في رسالة الخطأ التالية مثلاً، اسم سياسة إنشاء JWT هو JWT-Generate-HS256 واسم المطالبة claim, ونوع المطالبة هو integer:.

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. تحقَّق من أنّ اسم المطالبة ونوع المطالبة المستخدَمين ضمن العنصر <AdditionalClaims> في ملف XML الذي تعذّر إنشاء سياسة JWT يتطابق مع اسم المطالبة ونوع المطالبة المحدّدَين في رسالة الخطأ في الخطوة 1. على سبيل المثال، تحدِّد السياسة التالية المطالبة على أنّها claim، ونوع المطالبة على أنّها integer، ويتطابقان مع المحتوى الوارد في رسالة الخطأ:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalHeaders>
            <Claim name='claim' ref='reqclaim' type='integer'/>
        </AdditionalHeaders>
    </GenerateJWT>
    
  3. إذا لم يكن نوع المطالبة المستخدَم في العنصر الفرعي <Claim> للعنصر <AdditionalHeaders> من الأنواع التالية:

    string (الخيار التلقائي) أو number أو boolean أو map

    فسيكون هذا هو سبب الخطأ.

    في مثال إنشاء سياسة JWT الموضّح أعلاه، يتم تحديد النوع <Claim> ضمن العنصر <AdditionalHeaders> على أنّه integer. بما أنّ النوع "integer" ليس من الأنواع المتوافقة، ستظهر لك رسالة الخطأ:

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

درجة الدقّة

تأكَّد من استخدام أنواع البيانات المتوافقة فقط string أو number أو boolean أو map في العنصر الفرعي <Claim> للعنصر <AdditionalHeaders>.

لتصحيح مثال إنشاء سياسة JWT الموضح أعلاه، يمكنك تغيير نوع المطالبة إلى boolean:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidValueOfArrayAttribute

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Invalid value for array attribute: policy(policy_name)claim(claim_name).

مثال على رسالة الخطأ

Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا لم يتم ضبط قيمة سمة الصفيف في العنصر الفرعي <Claim> للعنصر <AdditionalClaims> أو <AdditionalHeaders> على true أو false.

على سبيل المثال، يؤدي ضبط قيمة سمة الصفيف على yes في العنصر الفرعي <Claim> في <AdditionalClaims> أو <AdditionalHeaders> إلى حدوث الخطأ.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم المطالبة من رسالة الخطأ. في رسالة الخطأ التالية مثلاً، اسم سياسة إنشاء JWT هو JWT-Generate-HS256 واسم المطالبة هو claim:.

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    
  2. تحقَّق من أنّ اسم المطالبة المستخدَم في العنصر الفرعي <Claim> ضمن العنصر <AdditionalHeaders> في ملف XML الذي تعذّر إنشاء سياسة JWT يتطابق مع اسم المطالبة المحدّد في رسالة الخطأ في الخطوة 1. على سبيل المثال، تحدِّد السياسة التالية اسم المطالبة على أنّه claim، ما يتطابق مع ما هو مذكور في رسالة الخطأ:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='yes'/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. إذا لم يتم ضبط قيمة السمة array في العنصر الفرعي <Claim> للعنصر <AdditionalClaims> على true أو false، يكون سبب الخطأ هو سبب الخطأ.

    بما أنّه تم ضبط السمة array في العنصر الفرعي <Claim> للعنصر <AdditionalClaims> على yes في المثال أعلاه، ستظهر لك رسالة الخطأ:

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    

درجة الدقّة

تأكَّد من ضبط قيمة سمة الصفيف في العنصر الفرعي <Claim> في <AdditionalClaims> أو <AdditionalHeaders> على true أو false.

لتصحيح مثال إنشاء سياسة JWT الموضّح أعلاه، يمكنك تغيير قيمة سمة الصفيف إلى true:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidConfigurationForActionAndAlgorithm

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).

مثال على رسالة الخطأ

Error Saving Revision 2
Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ عند استخدام العنصر <PrivateKey> مع خوارزميات HS Family، والعنصر <SecretKey> مع خوارزميات RSA Family. يحدث الخطأ أيضًا إذا كان أي من هذه الشروط صحيحًا.

على سبيل المثال، يؤدي استخدام العنصر <PrivateKey> مع خوارزميات HS Family إلى هذا الخطأ.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم العنصر واسم مجموعة الخوارزمية من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم سياسة إنشاء JWT هو JWT-Generate-HS256 واسم العنصر هو PrivateKey ومجموعة الخوارزمية هي HMAC:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    
  2. تحقَّق من أنّ العنصر ومجموعة الخوارزمية المستخدَمة في ملف XML الذي تعذّر إنشاء سياسة JWT يتطابق مع العنصر ومجموعة الخوارزمية المحدّدة في رسالة الخطأ في الخطوة 1. على سبيل المثال، تحدِّد السياسة التالية العنصر على أنّه PrivateKey، ومجموعة الخوارزمية على أنّها HMAC، ما يتطابق مع ما هو مذكور في رسالة الخطأ:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <PrivateKey>
            <Password ref="private.privatekey-password"/>
    
        </PrivateKey>
            <ExpiresIn>1h</ExpiresIn>
            <Subject>monty-pythons-flying-circus</Subject>
            <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
            <Audience>fans</Audience>
            <Id/>
            <AdditionalClaims>
                <Claim name='claim' ref='reqclaim' type='string' array=tuu
        =/>
            </AdditionalClaims>
        </GenerateJWT>
    
  3. إذا كانت قيمة العنصر <Algorithm> هي HS256، لكنّك استخدمت <PrivateKey>، هذا هو سبب الخطأ.

    في مثال إنشاء سياسة JWT الموضّح أعلاه، يتم استخدام <PrivateKey> على الرغم من ضبط <PrivateKey> على خوارزمية العائلة HS256، ما يؤدي إلى حدوث الخطأ التالي:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    

درجة الدقّة

يُرجى التأكّد من عدم استخدام العنصر <PrivateKey> إلا مع خوارزميات RSA Family، ومن استخدام العنصر <SecretKey> فقط مع خوارزميات HS Family.

لتصحيح مثال إنشاء سياسة JWT الموضّح أعلاه، يمكنك استخدام <SecretKey> من سياسة GenerateJWT التي تستخدم خوارزمية HS256:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidValueForElement

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Invalid Value for element : policy(policy_name) element(element_name).

مثال على رسالة الخطأ

Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا لم تكن القيمة المحددة في العنصر <Algorithm> واحدة من القيم التالية:

HS256، HS384، HS512، RS256، RS384، RS512

على سبيل المثال، يؤدي تحديد قيمة الخوارزمية كـ RS128 في العنصر <Algorithm> إلى حدوث هذا الخطأ.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم العنصر من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، اسم سياسة إنشاء JWT هو JWT-Generate-HS256 واسم العنصر هو Algorithm..

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. افحص ملف XML الذي تعذّر إنشاء سياسة JWT وتحقَّق من القيمة المحدّدة للعنصر <Algorithm>.

    في ما يلي نموذج عن سياسة إنشاء JWT:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS128</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='status' type='string'>Development</Claim>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. افحص القيمة المحدّدة في العنصر <Algorithm>. إذا لم تكن القيمة من بين القيم التالية:

    HS256، HS384، HS512، RS256، RS384، RS512

    فسيكون هذا هو سبب الخطأ.

    في مثال إنشاء سياسة JWT المعروض أعلاه، يتم تحديد اسم <Algorithm> على أنّه HS128. بما أنّ هذه الخوارزمية غير متوافقة، ستحصل على الخطأ التالي:

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    

درجة الدقّة

تأكَّد من أنّ القيمة المحدّدة في العنصر <Algorithm> هي إحدى القيم المسموح بها:

HS256، HS384، HS512، RS256، RS384، RS512

لتصحيح مثال إنشاء سياسة JWT الموضح أعلاه والذي يستخدم العنصر <SecretKey>، يمكنك تغيير قيمة <Algorithm> إلى HS25. ملاحظة: عند استخدام العنصر <SecretKey>، يمكنك فقط استخدام خوارزميات HS Family.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='status' type='string'>Development</Claim>
    </AdditionalClaims>
</GenerateJWT>

MissingConfigurationElement

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Missing configuration element : policy(policy_name) element(element_name).

مثال على رسالة الخطأ

Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ عندما لا يتم استخدام العنصر <PrivateKey> مع خوارزميات عائلة RSA في سياسة إنشاء JWT. وبالمثل، يمكن أن يحدث الخطأ إذا لم يتم استخدام العنصر <SecretKey> مع خوارزميات HS Family في سياسة إنشاء JWT.

على سبيل المثال، يؤدي عدم استخدام العنصر <PrivateKey> مع خوارزميات العائلة RSA إلى ظهور هذا الخطأ.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم العنصر غير المتوفّر من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، اسم سياسة إنشاء JWT هو JWT-Generate-HS256 واسم العنصر غير المتوفّر هو SecretKey.

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    
  2. افحص ملف XML الذي تعذّر إنشاء سياسة JWT وتحقّق من عدم توفّر العنصر المُشار إليه في رسالة الخطأ. وإذا كانت غير متوفّرة، هذا هو سبب الخطأ.

    في السياسة التالية مثلاً، لا تتضمّن السياسة SecretKey وAlgorithm المستخدَمة هي HS256:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    يستخدم مثال إنشاء سياسة JWT خوارزميات HS Family، ولكن العنصر الإلزامي SecretKey غير متوفّر، ما يؤدي إلى حدوث الخطأ:

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    

درجة الدقّة

تأكَّد من استخدام عنصر <PrivateKey> الإلزامي مع خوارزميات RSA Family ومن استخدام العنصر <SecretKey> الإلزامي مع خوارزميات HS Family.

لتصحيح مثال إنشاء سياسة JWT المذكور أعلاه والذي يستخدم الخوارزمية HS256، أضِف العنصر <SecretKey> إلى سياسة إنشاء JWT:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidKeyConfiguration

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 
Invalid Key configuration : policy(policy_name).

مثال على رسالة الخطأ

Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا لم يتم تحديد العنصر الفرعي الإلزامي <Value> في العناصر <PrivateKey> أو <SecretKey> في سياسة إنشاء JWT.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم سياسة إنشاء JWT هو JWT-Generate-HS256.

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. تحقَّق مما إذا تعذّر إنشاء ملف XML لسياسة JWT وتحقّق مما إذا لم يتم تحديد العنصر الفرعي <Value> في العنصرَين <PrivateKey> أو <SecretKey>. إذا لم يتم تحديد السمة <Value>، يكون هذا هو سبب الخطأ.

    على سبيل المثال، في السياسة التالية، لم يتم تحديد العنصر الفرعي <Value> في عنصر <SecretKey>:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    بسبب عدم تحديد العنصر الفرعي <Value> في العنصر <SecretKey> لسياسة إنشاء JWT، ستظهر لك رسالة الخطأ:

    Invalid Key configuration : policy(JWT-Generate-HS256).
    

درجة الدقّة

تأكَّد من تحديد العنصر الفرعي <Value> دائمًا في العنصرَين <PrivateKey> أو <SecretKey> ضِمن سياسة إنشاء JWT.

لتصحيح مثال إنشاء سياسة JWT الموضح أعلاه، يمكنك تحديد العنصر الفرعي <Value> ضمن العنصر <SecretKey> كما هو موضّح أدناه:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

EmptyElementForKeyConfiguration

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Empty Element for Key Configuration : policy(policy_name) element(element_name).

مثال على رسالة الخطأ

Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا لم يتم تحديد سمة المرجع في العنصر الفرعي <Value> للعناصر <PrivateKey> أو <SecretKey> أو لم يتم تحديدها فارغة.

على سبيل المثال، إذا كان العنصر الفرعي <Value> للعنصر <SecretKey> فارغًا، سيحدث الخطأ.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم العنصر الفارغ من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، اسم سياسة إنشاء JWT هو JWT-Generate-HS256 واسم العنصر الفارغ هو SecretKey/Value.

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. افحص ملف XML الذي تعذّر إنشاء سياسة JWT وتحقَّق مما إذا كان العنصر المحدّد في الخطوة 1 فارغًا. إذا كان فارغًا، هذا هو سبب الخطأ.

    على سبيل المثال، توضّح السياسة التالية أنّ العنصر الفرعي <Value> للعنصر <SecretKey> فارغ:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value/>
            <Id>1918290</Id>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    بما أنّ العنصر الفرعي <Value> للعنصر <SecretKey> في سياسة إنشاء JWT فارغ، ستظهر لك رسالة الخطأ:

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

درجة الدقّة

تأكَّد من أنّ سمة المرجع في العنصر الفرعي <Value> للعناصر <PrivateKey> أو <SecretKey> محدّدة دائمًا وتتضمّن البادئة "private.".

لتصحيح مثال إنشاء سياسة JWT الموضح أعلاه، يمكنك استخدام متغيّر التدفق private.privatekey في العنصر الفرعي <Value> ضِمن العنصر <SecretKey>.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidVariableNameForSecret

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Invalid variable name for secret : policy(policy_name) element(element_name).

مثال على رسالة الخطأ

Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا كان اسم متغيّر التدفق المحدّد في السمة ref في العنصر الفرعي <Value> للعناصر <PrivateKey> أو <SecretKey> لا يتضمّن البادئة الخاصة (private.).

For example :

يحدث هذا الخطأ إذا تم تحديد اسم متغير التدفق باعتباره mykey في سمة ref للعنصر الثانوي <Value> من العنصر <PrivateKey>.

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم العنصر الذي يحتوي على اسم متغيّر غير صالح من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، اسم سياسة إنشاء JWT هو JWT-Generate-HS256 واسم العنصر هو SecretKey/Value.

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. افحص ملف XML الذي تعذّر إنشاء سياسة JWT وتحقَّق من اسم المتغيّر المستخدَم في العنصر، والذي تم تحديده في الخطوة 1. إذا كان اسم المتغيّر لا يتضمّن البادئة private.، يكون سبب الخطأ هو سبب الخطأ.

    على سبيل المثال، توضّح السياسة التالية أنّ العنصر الفرعي <Value> للعنصر <SecretKey> يحمل اسم المتغيّر غير الصالح mykey:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value ref="mykey"/>
            <Id>1918290</Id>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    بما أنّ اسم المتغيّر المحدّد في العنصر الفرعي <Value> للعنصر <SecretKey> في سياسة إنشاء JWT لا يحتوي على البادئة private.، ستظهر لك رسالة الخطأ التالية:

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

درجة الدقّة

تأكَّد من أنّ سمة المرجع في العنصر الفرعي <Value> للعناصر <PrivateKey> أو <SecretKey> محدّدة دائمًا وتتضمّن البادئة private..

لتصحيح مثال إنشاء سياسة JWT الموضح أعلاه، يمكنك استخدام متغير التدفق private.privatekey في العنصر الفرعي <Value> للعنصر <SecretKey>:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidSecretInConfig

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).

مثال على رسالة الخطأ

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا تم تحديد القيمة (السري) صراحةً في:

  • العناصر الفرعية <Value> أو <Password> للعنصر <PrivateKey> أو
  • العنصر الفرعي <Value> للعنصر <SecretKey>

في سياسة إنشاء JWT.

على سبيل المثال، يحدث هذا الخطأ إذا تم تحديد المفتاح السرّي بشكل صريح على أنّه abc في العنصر الفرعي <Value> ضمن العنصر <SecretKey>.

التشخيص

  1. يمكنك تحديد اسم سياسة إنشاء JWT واسم العنصر الذي يتم تحديد المفتاح السرّي صراحةً من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، اسم سياسة إنشاء JWT هو JWT-Generate-HS256 واسم العنصر هو SecretKey/Value.

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. افحص ملف XML الذي تعذّر إنشاء سياسة JWT وتحقَّق مما إذا كان السر محدّدًا بشكل صريح في العنصر الذي تم تحديده في الخطوة 1. وإذا تم تحديدها بشكل صريح، يكون هذا هو سبب الخطأ.

    على سبيل المثال، توضّح السياسة التالية أنّه تم تحديد السر بشكل صريح في العنصر الفرعي <Value> للعنصر <SecretKey>:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value>abc</Value>
            <Id>1918290</Id>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    بسبب تحديد المفتاح السرّي بشكل صريح في العنصر الفرعي <Value> للعنصر <SecretKey> في سياسة إنشاء JWT، ستظهر لك رسالة الخطأ:

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

درجة الدقّة

يُرجى التأكُّد من تحديد القيمة دائمًا كمتغيّر تدفق في العنصر الفرعي <Value> للعناصر <PrivateKey> أو <SecretKey>.

لتصحيح مثال إنشاء سياسة JWT الموضح أعلاه، يمكنك استخدام متغير التدفق private.secretkey في سمة المرجع للعنصر الفرعي <Value> من <SecretKey>:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <ExpiresIn>1h</ExpiresIn>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidTimeFormat

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision 2
Invalid Time format: policy(policy_name) element(element_name).

مثال على رسالة الخطأ

Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).

مثال للقطة شاشة

في واجهة مستخدم Edge، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا لم تكن القيمة المحدّدة في العنصر <NotBefore> من بين التنسيقات المتوافقة:

sortable وRFC 1123 وRFC 850 وANCI-C

على سبيل المثال، إذا كانت القيمة المحددة في <NotBefore> هي 20-JUN-1990 08:03، وهي ليست صيغة متوافقة، سيحدث هذا الخطأ.

<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>

التشخيص

  1. حدِّد اسم سياسة إنشاء JWT واسم العنصر الذي يحتوي على تنسيق وقت غير صالح من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، اسم سياسة إنشاء JWT هو JWT-Generate-HS256 واسم العنصر هو NotBefore.

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. افحص ملف XML الذي تعذّر إنشاء سياسة JWT وتحقَّق من تنسيق الوقت المستخدَم في العنصر المحدّد في الخطوة 1. إذا كان العنصر لا يستخدم أيًّا من التنسيقات المتوافقة:

    sortable وRFC 1123 وRFC 850 وANCI-C

    فسيكون هذا هو سبب الخطأ.

    على سبيل المثال، توضِّح السياسة التالية أنّ العنصر الفرعي <NotBefore> يستخدم تنسيق وقت غير متوافق:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    تظهر رسالة الخطأ التالية بسبب عدم استخدام العنصر <NotBefore> في سياسة إنشاء JWT لأي تنسيق من تنسيقات الوقت المتوافقة:

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

درجة الدقّة

تأكَّد من أنّ القيمة المحدّدة في العنصر <NotBefore> تستخدم أحد التنسيقات المتوافقة:

sortable وRFC 1123 وRFC 850 وANCI-C

لتصحيح مثال إنشاء سياسة JWT، عليك تعديل التاريخ في العنصر <NotBefore> لاستخدام تنسيق sortable كما هو موضّح أدناه:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <ExpiresIn>1h</ExpiresIn>
    <NotBefore>2018-08-14T11:00:21-07:00</NotBefore>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>