تحديد المشاكل وحلّها في ما يتعلّق بنشر سياسة 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 الذي تعذّر إنشاؤه مع اسم المطالبة ونوعها المحددَين في رسالة الخطأ في الخطوة الأولى. على سبيل المثال، تحدّد السياسة التالية المطالبة على أنّها 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 الذي تعذّر إنشاؤه مع اسم المطالبة ونوع المطالبة الواردَين في رسالة الخطأ في الخطوة الأولى. على سبيل المثال، تحدّد السياسة التالية المطالبة على أنّها 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 وأنّ العنصر <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 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، واستخدام عنصر <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، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا كانت سمة 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 الخاص بسياسة إنشاء 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).
    

الدقة

يجب التأكّد دائمًا من تحديد السمة 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> في سياسة إنشاء 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، سيظهر لك مربع حوار يحتوي على خطأ:

السبب

يحدث هذا الخطأ إذا تم تحديد القيمة (secret) بشكل صريح في:

  • العنصر الفرعي <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 في سمة 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> في سياسة إنشاء 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>