عیب‌یابی خطای استقرار خط‌مشی «احراز هویت پایه»

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

UserNameRequired

پیام خطا

استقرار پراکسی API ازطریق «واسط کاربر 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> در خط‌مشی «احراز هویت پایه» تعریف نشده باشد، استقرار «پراکسی API» ناموفق خواهد بود. عنصر <User> برای هر دو عملیات «کدبندی» و «کدگشایی» الزامی است.

تشخیص

  1. همه خط‌مشی‌های BasicAuthentication استفاده‌شده در پراکسی API را بررسی کنید. اگر خط‌مشی‌ای وجود داشته باشد که عنصر <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> در خط‌مشی «احراز هویت پایه» برای عملیات «کدبندی» یا «کدگشایی» تعریف شده باشد.

برای اصلاح نمونه نشان‌داده‌شده در بالا، عنصر <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

پیام خطا

استقرار پراکسی API ازطریق «واسط کاربر 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> در خط‌مشی «احراز هویت پایه» تعریف نشده باشد، استقرار «پراکسی API» ناموفق خواهد بود. عنصر <Password> برای هر دو عملیات «کدبندی» و «کدگشایی» الزامی است.

تشخیص

  1. همه خط‌مشی‌های BasicAuthentication استفاده‌شده در پراکسی API را بررسی کنید. اگر خط‌مشی‌ای وجود دارد که عنصر <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> در خط‌مشی «احراز هویت پایه» برای عملیات «کدبندی» یا «کدگشایی» تعریف شده باشد.

برای اصلاح نمونه نشان‌داده‌شده در بالا، عنصر <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

پیام خطا

استقرار پراکسی API ازطریق «واسط کاربر 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> در خط‌مشی «احراز هویت پایه» تعریف نشده باشد، استقرار «پراکسی API» ناموفق خواهد بود. عنصر <AssignTo> برای هر دو عملیات «کدبندی» و «کدگشایی» الزامی است.

تشخیص

  1. همه خط‌مشی‌های BasicAuthentication استفاده‌شده در پراکسی API را بررسی کنید. اگر خط‌مشی‌ای وجود داشته باشد که در آن عنصر <AssignTo> تعریف نشده باشد، آن خط‌مشی دلیل خطا است. عنصر <AssignTo> باید در خط‌مشی «احراز هویت پایه» برای هر دو عملیات «کدبندی» و «رمزگشایی» تعریف شود.

    خط‌مشی نمونه «احراز هویت پایه» که در زیر نشان داده شده است برای عملیات «کدبندی» استفاده می‌شود، اما عنصر <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> در خط‌مشی «احراز هویت پایه» برای عملیات «کدبندی» یا «کدگشایی» تعریف شده باشد.

برای اصلاح نمونه نشان‌داده‌شده در بالا، عنصر <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

پیام خطا

استقرار پراکسی API ازطریق «واسط کاربر 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> در خط‌مشی «اصالت‌سنجی پایه» که برای عملیات رمزگشایی استفاده می‌شود تعریف نشده باشد، استقرار «پراکسی میانای برنامه‌سازی کاربردی» ناموفق خواهد بود. اگر <Operation> در خط‌مشی «احراز هویت پایه» به‌عنوان Decode مشخص شده باشد، عنصر <Source> الزامی است.

تشخیص

  1. همه خط‌مشی‌های BasicAuthentication استفاده‌شده در پراکسی API را بررسی کنید. اگر خط‌مشی‌ای وجود داشته باشد که در آن عنصر <Source> تعریف نشده باشد و عنصر <Operation> به‌عنوان Decode تعریف شده باشد، آن خط‌مشی دلیل خطا است. اگر <Operation> در خط‌مشی «احراز هویت پایه» به‌عنوان Decode مشخص شده باشد، عنصر <Source> الزامی است.

    خط‌مشی نمونه «احراز هویت پایه» که در زیر نشان داده شده است برای عملیات 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> برای عملیات 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>