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

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

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 لسياسة Generate 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 لسياسة Generate 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 الخاص بسياسة Generate 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. حدِّد اسم سياسة Generate JWT واسم العنوان من رسالة الخطأ. على سبيل المثال، في رسالة الخطأ التالية، يكون اسم سياسة إنشاء رمز JWT هو JWT-Generate-HS256 واسم العنوان هو alg:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. تأكَّد من أنّ اسم العنوان المستخدَم في العنصر الفرعي <Claim> ضمن العنصر <AdditionalHeaders> في ملف XML الخاص بسياسة Generate 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 لسياسة Generate 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 لسياسة Generate 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 وتم استخدام العنصر <SecretKey> مع خوارزميات عائلة RSA. سيحدث الخطأ أيضًا إذا كان أي من هذين الشرطين صحيحًا.

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

التشخيص

  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> مع خوارزميات "الإعلانات المتجاوبة على شبكة البحث" المناسبة للعائلة فقط، واستخدام العنصر <SecretKey> مع خوارزميات "الإعلانات الصورية" المناسبة للعائلة فقط.

لتصحيح مثال سياسة إنشاء رمز 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 Family في سياسة Generate JWT. وبالمثل، يمكن أن يحدث الخطأ إذا لم يتم استخدام العنصر <SecretKey> مع خوارزميات HS Family في سياسة Generate JWT.

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

التشخيص

  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> في سياسة Generate 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> من سياسة Generate JWT، سيظهر لك الخطأ التالي:

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

الدقة

تأكَّد من تحديد العنصر الفرعي <Value> دائمًا في العنصرَين <PrivateKey> أو <SecretKey> من سياسة Generate 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، سيظهر لك مربّع حوار يتضمّن رسالة خطأ:

السبب

يحدث هذا الخطأ إذا لم يتم تحديد السمة ref في العنصر الفرعي <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 الخاص بسياسة Generate 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> في سياسة Generate JWT فارغ، سيظهر لك الخطأ التالي:

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

الدقة

تأكَّد من أنّ السمة ref في العنصر الفرعي <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> في سياسة Generate JWT لا يتضمّن البادئة private.، سيظهر لك الخطأ التالي:

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

الدقة

تأكَّد من أنّ السمة ref في العنصر الفرعي <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> في سياسة Generate JWT، يظهر لك الخطأ التالي:

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

الدقة

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

لتصحيح مثال سياسة إنشاء رمز JWT الموضّح أعلاه، استخدِم متغيّر التدفق private.secretkey في السمة ref للعنصر الفرعي <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> في سياسة Generate 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>