Temel Kimlik Doğrulama politikası dağıtım hatasıyla ilgili sorunları giderme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

UserNameRequired

Hata mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:

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

Örnek hata mesajı

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

Örnek ekran görüntüsü

Neden

<User> öğesi BasicAuthentication politikası içinde tanımlanmamışsa API Proxy'nin dağıtımı başarısız olur. <User> öğesi hem kodlama hem de kod çözme işlemleri için zorunludur.

Teşhis

  1. API proxy'sinde kullanılan tüm BasicAuthentication politikalarını inceleyin. <User> öğesinin belirtilmediği bir politika varsa hatanın nedeni budur. <User> öğesi, Encode veya Decode işlemleri için BasicAuthentication politikasında zorunludur.

    Aşağıda gösterilen örnek BasicAuthentication politikası, Encode işlemi için kullanılır ancak <User> öğesi tanımlanmamıştır:

    <?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>
    

    Dağıtım aşağıdaki hata nedeniyle başarısız oluyor:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Çözünürlük

Kodlama veya kod çözme işlemi için <User> öğesinin BasicAuthentication politikası içinde tanımlandığından emin olun.

Yukarıda gösterilen örneği düzeltmek için politikaya aşağıdaki gibi <User> öğesini ekleyin:

<?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

Hata mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:

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

Örnek hata mesajı

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

Örnek ekran görüntüsü

Neden

<Password> öğesi BasicAuthentication politikası içinde tanımlanmamışsa API Proxy'nin dağıtımı başarısız olur. <Password> öğesi hem kodlama hem de kod çözme işlemleri için zorunludur.

Teşhis

  1. API proxy'sinde kullanılan tüm BasicAuthentication politikalarını inceleyin. <Password> öğesinin tanımlanmadığı bir politika varsa hatanın nedeni budur. Kodlama veya kod çözme işlemi için BasicAuthentication politikasında <Password> öğesi zorunludur.

    Aşağıda gösterilen örnek BasicAuthentication politikası, Encode işlemi için kullanılır ancak <Password> öğesi tanımlanmamıştır:

    <?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>
    

    Dağıtım aşağıdaki hata nedeniyle başarısız oluyor:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Çözünürlük

Kodlama veya kod çözme işlemi için <Password> öğesinin BasicAuthentication politikası içinde tanımlandığından emin olun.

Yukarıda gösterilen örneği düzeltmek için politikaya aşağıdaki gibi <Password> öğesini ekleyin:

<?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

Hata mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:

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

Örnek hata mesajı

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

Örnek ekran görüntüsü

Neden

<AssignTo> öğesi BasicAuthentication politikası içinde tanımlanmamışsa API Proxy'nin dağıtımı başarısız olur. <AssignTo> öğesi hem kodlama hem de kod çözme işlemleri için zorunludur.

Teşhis

  1. API proxy'sinde kullanılan tüm BasicAuthentication politikalarını inceleyin. <AssignTo> öğesinin tanımlanmadığı bir politika varsa hatanın nedeni budur. <AssignTo> öğesinin hem kodlama hem de kod çözme işlemleri için BasicAuthentication politikasında tanımlanması zorunludur.

    Aşağıda gösterilen örnek BasicAuthentication politikası, Encode işlemi için kullanılır ancak <AssignTo> öğesi tanımlanmamıştır:

    <?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>
    

    Dağıtım aşağıdaki hata nedeniyle başarısız oluyor:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Çözünürlük

Kodlama veya kod çözme işlemi için <AssignTo> öğesinin BasicAuthentication politikası içinde tanımlandığından emin olun.

Yukarıda gösterilen örneği düzeltmek için politikaya aşağıdaki gibi <AssignTo> öğesini ekleyin:

<?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

Hata mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:

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

Örnek hata mesajı

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

Örnek ekran görüntüsü

Neden

<Source> öğesi, kod çözme işlemi için kullanılan BasicAuthentication politikasında tanımlanmamışsa API proxy'sinin dağıtımı başarısız olur. BasicAuthentication politikasında <Operation>, Decode olarak belirtilmişse <Source> öğesi zorunludur.

Teşhis

  1. API proxy'sinde kullanılan tüm BasicAuthentication politikalarını inceleyin. <Source> öğesinin tanımlanmadığı ve <Operation> öğesinin Decode olarak tanımlandığı bir politika varsa hatanın nedeni budur. BasicAuthentication politikasında <Operation>, Decode olarak belirtilmişse <Source> öğesi zorunludur.

    Aşağıda gösterilen örnek BasicAuthentication politikası Decode işlemi için kullanılır ancak <Source> öğesi tanımlanmamıştır:

    <?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>
    

    Dağıtım aşağıdaki hata nedeniyle başarısız oluyor:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

Çözünürlük

<Source> öğesinin, Decode işlemi için kullanıldığında BasicAuthentication politikasında tanımlandığından emin olun.

Yukarıda gösterilen örneği düzeltmek için politikaya aşağıdaki gibi <Source> öğesini ekleyin:

<?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>