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

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

UserNameRequired

رسالة الخطأ

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

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: Username element must be present for operation operation.

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

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Username element must be present for Encode operation.

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

السبب

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات في حال عدم تحديد العنصر <User> في سياسة BasicAuth. يكون العنصر <User> إلزاميًا لكل من عمليتَي الترميز وفك الترميز.

التشخيص

  1. افحص جميع سياسات Basicالمصادقة المستخدمة في الخادم الوكيل لواجهة برمجة التطبيقات. إذا لم يتم تحديد العنصر <User> في أي سياسة، يكون سبب الخطأ هو الخطأ. يكون العنصر <User> إلزاميًا في سياسة المصادقة الأساسية لعمليات التشفير أو فك الترميز.

    يتم استخدام نموذج سياسة المصادقة الأساسية الموضحة أدناه لعملية الترميز، ولكن لم يتم تحديد عنصر <User> لها:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Encode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <Password ref="BasicAuth.credentials.password"/>
      <AssignTo createNew="false">request.header.Authorization</AssignTo>
    </BasicAuthentication>
    

    تعذَّر النشر مع ظهور الخطأ التالي:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

درجة الدقّة

تأكّد من تحديد العنصر <User> ضمن سياسة BasicAuth في عملية الترميز أو فك الترميز.

لتصحيح المثال الموضح أعلاه، يجب تضمين عنصر <User> في السياسة كما هو موضح أدناه:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Encode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>

PasswordRequired

رسالة الخطأ

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

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: Password element must be present for operation operation.

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

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Password element must be present for Encode operation.

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

السبب

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات في حال عدم تحديد العنصر <Password> في سياسة BasicAuth. يكون العنصر <Password> إلزاميًا لكل من عمليتَي الترميز وفك الترميز.

التشخيص

  1. افحص جميع سياسات Basicالمصادقة المستخدمة في الخادم الوكيل لواجهة برمجة التطبيقات. إذا لم يتم تحديد العنصر <Password> في أي سياسة، يكون سبب الخطأ هو الخطأ. يكون العنصر <Password> إلزاميًا في سياسة المصادقة الأساسية لتشغيل الترميز أو فك الترميز.

    يتم استخدام نموذج سياسة المصادقة الأساسية الموضحة أدناه لعملية الترميز، ولكن لم يتم تحديد عنصر <Password> لها:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Encode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <User ref="BasicAuth.credentials.username"/>
      <AssignTo createNew="false">request.header.Authorization</AssignTo>
    </BasicAuthentication>
    

    تعذَّر النشر مع ظهور الخطأ التالي:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

درجة الدقّة

تأكّد من تحديد العنصر <Password> ضمن سياسة BasicAuth في عملية الترميز أو فك الترميز.

لتصحيح المثال الموضح أعلاه، يجب تضمين عنصر <Password> في السياسة كما هو موضح أدناه:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Encode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>

AssignToRequired

رسالة الخطأ

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

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: AssignTo element must be present for operation operation.

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

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.

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

السبب

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات في حال عدم تحديد العنصر <AssignTo> في سياسة BasicAuth. يكون العنصر <AssignTo> إلزاميًا لكل من عمليتَي الترميز وفك الترميز.

التشخيص

  1. افحص جميع سياسات Basicالمصادقة المستخدمة في الخادم الوكيل لواجهة برمجة التطبيقات. إذا كانت هناك أي سياسة لم يتم تحديد العنصر <AssignTo> فيها، يكون سبب الخطأ هو الخطأ. يكون تحديد العنصر <AssignTo> إلزاميًا في سياسة Basic Authenticator لكل من عمليات الترميز وفك الترميز.

    يتم استخدام نموذج سياسة المصادقة الأساسية الموضحة أدناه لعملية الترميز، ولكن لم يتم تحديد عنصر <AssignTo> لها:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Encode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <User ref="BasicAuth.credentials.username"/>
      <Password ref="BasicAuth.credentials.password"/>
    </BasicAuthentication>
    

    تعذَّر النشر مع ظهور الخطأ التالي:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

درجة الدقّة

تأكّد من تحديد العنصر <AssignTo> ضمن سياسة BasicAuth في عملية الترميز أو فك الترميز.

لتصحيح المثال الموضح أعلاه، يجب تضمين عنصر <AssignTo> في السياسة كما هو موضح أدناه:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Encode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>

SourceRequired

رسالة الخطأ

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

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: Source element must be present for Decode operation.

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

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Source element must be present for Decode operation.

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

السبب

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات في حال عدم تحديد العنصر <Source> في سياسة BasicAuth التي يتم استخدامها في عملية فك الترميز. يكون العنصر <Source> إلزاميًا إذا تم تحديد <Operation> على أنّه Decode في سياسة BasicAuth.

التشخيص

  1. افحص جميع سياسات Basicالمصادقة المستخدمة في الخادم الوكيل لواجهة برمجة التطبيقات. إذا كانت هناك أي سياسة لم يتم فيها تحديد العنصر <Source> وكان العنصر <Operation> محدّدًا على أنّه Decode، يكون هذا هو سبب الخطأ. يكون العنصر <Source> إلزاميًا إذا تم تحديد <Operation> على أنّه Decode في سياسة BasicAuth.

    يتم استخدام نموذج سياسة BasicAuth الموضح أدناه في عملية Decode، ولكن لم يتم تحديد العنصر <Source> وفقًا له:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Decode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <User ref="BasicAuth.credentials.username"/>
      <Password ref="BasicAuth.credentials.password"/>
      <AssignTo createNew="false">request.header.Authorization</AssignTo>
    </BasicAuthentication>
    

    تعذَّر النشر مع ظهور الخطأ التالي:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

درجة الدقّة

تأكّد من تحديد العنصر <Source> في سياسة BasicAuth عند استخدامه في عملية Decode.

لتصحيح المثال الموضح أعلاه، يجب تضمين عنصر <Source> في السياسة كما هو موضح أدناه:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Decode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
    <Source>request.header.Authorization</Source>
</BasicAuthentication>