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

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

UserNameRequired

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

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

Temel Kimlik Doğrulama politikasında <User> öğesi tanımlanmamışsa API Proxy'sinin dağıtımı başarısız olur. <User> öğesi hem Kodlama hem de Kodu Çö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, Kodlama veya Kodu Çözme işlemleri için Temel Kimlik Doğrulama politikasında zorunludur.

    Aşağıda gösterilen örnek BasicAuthentication politikası, Kodlama işlemi için kullanılır ancak <User> öğesi tanımlı değildir:

    <?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 hatayı vererek başarısız oluyor:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Çözünürlük

<User> öğesinin, Kodlama veya Kodu Çözme işleminin Temel Kimlik Doğrulama politikasında tanımlandığından emin olun.

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

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
BasicAuthenticati>on na<me="Ap>plyBasicAuthHeader&q<uot;
    Dis>playN<ameApplyB>asicAu<thHeader/D>ispla<yName
    OperationEncode>/Oper<ation
    IgnoreUnresolved>Varia<blesfalse/IgnoreUnresolvedVariables
    Us>er re<f="BasicAuth.credentials.username"/
>    P<assword ref="BasicAut>h.credentials.password"</
    Ass>i<gnTo createNew=">;false"request.header.Authorization/AssignTo
/BasicAuthentication

PasswordRequired

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

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

Temel Kimlik Doğrulama politikasında <Password> öğesi tanımlanmamışsa API Proxy'sinin dağıtımı başarısız olur. <Password> öğesi hem Kodlama hem de Kodu Çö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 Kodu Çözme işleminde Temel Kimlik Doğrulama politikasında <Password> öğesi zorunludur.

    Aşağıda gösterilen örnek BasicAuthentication politikası, Kodlama işlemi için kullanılır ancak <Password> öğesi tanımlı değildir:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    BasicAuthenticati>on <name=">ApplyBasicAuthHeader<"
      Dis>pla<yNameAppl>yBasic<AuthHeader>/Di<splayName
      OperationEnco>de/Op<eration
      IgnoreUnresolved>Var<iablesfalse/IgnoreUnresolvedVariables
      Us>er <ref="BasicAuth.creden>tials.username"/
      Assi<gnTo crea>t<eNew="false&quo>t;request.header.Authorization/AssignTo
    /BasicAuthentication
    

    Dağıtım aşağıdaki hatayı vererek başarısız oluyor:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Çözünürlük

<Password> öğesinin, Kodlama veya Kodu Çözme işleminin Temel Kimlik Doğrulama politikasında tanımlandığından emin olun.

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

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
BasicAuthenticati>on na<me="Ap>plyBasicAuthHeader&q<uot;
    Dis>playN<ameApplyB>asicAu<thHeader/D>ispla<yName
    OperationEncode>/Oper<ation
    IgnoreUnresolved>Varia<blesfalse/IgnoreUnresolvedVariables
    Us>er re<f="BasicAuth.credentials.username"/
>    P<assword ref="BasicAut>h.credentials.password"</
    Ass>i<gnTo createNew=">;false"request.header.Authorization/AssignTo
/BasicAuthentication

AssignToRequired

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

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

Temel Kimlik Doğrulama politikasında <AssignTo> öğesi tanımlanmamışsa API Proxy'sinin dağıtımı başarısız olur. <AssignTo> öğesi hem Kodlama hem de Kodu Çö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. Hem Kodlama hem de Kodu Çözme işlemleri için <AssignTo> öğesinin Temel Kimlik Doğrulama politikasında tanımlanması zorunludur.

    Aşağıda gösterilen örnek BasicAuthentication politikası, Kodlama işlemi için kullanılır ancak <AssignTo> öğesi tanımlı değildir:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    BasicAuthenticati>on <name=">ApplyBasicAuthHeader<"
      Dis>pla<yNameAppl>yBasic<AuthHeader>/Di<splayName
      OperationEnco>de/Op<eration
      IgnoreUnresolved>Var<iablesfalse/IgnoreUnresolvedVariables
      Us>er <ref="BasicAuth.credentials.username">/<
      Password ref=&quo>t;BasicAuth.credentials.password"/
    /BasicAuthentication
    

    Dağıtım aşağıdaki hatayı vererek başarısız oluyor:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Çözünürlük

<AssignTo> öğesinin, Kodlama veya Kodu Çözme işleminin Temel Kimlik Doğrulama politikasında tanımlandığından emin olun.

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

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
BasicAuthenticati>on na<me="Ap>plyBasicAuthHeader&q<uot;
    Dis>playN<ameApplyB>asicAu<thHeader/D>ispla<yName
    OperationEncode>/Oper<ation
    IgnoreUnresolved>Varia<blesfalse/IgnoreUnresolvedVariables
    Us>er re<f="BasicAuth.credentials.username"/
>    P<assword ref="BasicAut>h.credentials.password"</
    Ass>i<gnTo createNew=">;false"request.header.Authorization/AssignTo
/BasicAuthentication

SourceRequired

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

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. <Operation>, BasicAuthentication politikasında 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. <Operation>, BasicAuthentication politikasında Decode olarak belirtilmişse <Source> öğesi zorunludur.

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

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    BasicAuthenticati>on <name=">ApplyBasicAuthHeader<"
      Dis>pla<yNameAppl>yBasic<AuthHeader>/Di<splayName
      OperationDeco>de/Op<eration
      IgnoreUnresolved>Var<iablesfalse/IgnoreUnresolvedVariables
      Us>er <ref="BasicAuth.credentials.username">/
     < Password ref="BasicA>uth.credentials.password&quo<t;/
      Ass>i<gnTo createNew=">;false"request.header.Authorization/AssignTo
    /BasicAuthentication
    

    Dağıtım aşağıdaki hatayı vererek başarısız oluyor:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

Çözünürlük

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

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

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
BasicAuthenticati>on na<me="Ap>plyBasicAuthHeader&q<uot;
    Dis>playN<ameApplyB>asicAu<thHeader/D>ispla<yName
    OperationDecode>/Oper<ation
    IgnoreUnresolved>Varia<blesfalse/IgnoreUnresolvedVariables
    Us>er re<f="BasicAuth.credentials.username"/
>    P<assword ref="BasicAut>h.credentials.password"</
    Ass>ignTo< creat>eNew="false"reques<t.heade>r<.Authorization/Assig>nTo
    Sourcerequest.header.Authorization/Source
/BasicAuthentication