Pemecahan masalah error deployment kebijakan BasicAuthentication

Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.

ini.

UserNameRequired

Pesan error

Deployment proxy API melalui UI Apigee atau API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Deployment Proxy API akan gagal jika elemen <User> tidak ditentukan dalam kebijakan BasicAuthentication. Elemen <User> bersifat wajib untuk operasi Encode dan Decode.

Diagnosis

  1. Periksa semua kebijakan BasicAuthentication yang digunakan di proxy API. Jika ada kebijakan di mana elemen <User> tidak ditentukan, maka itulah penyebab error. Elemen <User> bersifat wajib dalam kebijakan BasicAuthentication untuk operasi Encode atau Decode.

    Contoh kebijakan BasicAuthentication yang ditampilkan di bawah digunakan untuk operasi Enkode, tetapi tidak memiliki elemen <User> yang ditentukan:

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

    Deployment gagal dengan error di bawah:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Resolusi

Pastikan elemen <User> ditentukan dalam kebijakan BasicAuthentication untuk operasi Encode atau Decode.

Untuk memperbaiki contoh yang ditampilkan di atas, sertakan elemen <User> dalam kebijakan seperti yang ditunjukkan di bawah ini:

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

Pesan error

Deployment proxy API melalui UI Apigee atau API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Deployment Proxy API akan gagal jika elemen <Password> tidak ditentukan dalam kebijakan BasicAuthentication. Elemen <Password> bersifat wajib untuk operasi Encode dan Decode.

Diagnosis

  1. Periksa semua kebijakan BasicAuthentication yang digunakan di proxy API. Jika ada kebijakan di mana elemen <Password> tidak ditentukan, maka itulah penyebab error. Elemen <Password> bersifat wajib dalam kebijakan BasicAuthentication untuk operasi Enkode atau Dekode.

    Contoh kebijakan BasicAuthentication yang ditampilkan di bawah digunakan untuk operasi Enkode, tetapi tidak memiliki elemen <Password> yang ditentukan:

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

    Deployment gagal dengan error di bawah:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Resolusi

Pastikan elemen <Password> ditentukan dalam kebijakan BasicAuthentication untuk operasi Encode atau Decode.

Untuk memperbaiki contoh yang ditampilkan di atas, sertakan elemen <Password> dalam kebijakan seperti yang ditunjukkan di bawah ini:

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

Pesan error

Deployment proxy API melalui UI Apigee atau API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Deployment Proxy API akan gagal jika elemen <AssignTo> tidak ditentukan dalam kebijakan BasicAuthentication. Elemen <AssignTo> bersifat wajib untuk operasi Encode dan Decode.

Diagnosis

  1. Periksa semua kebijakan BasicAuthentication yang digunakan di proxy API. Jika ada kebijakan di mana elemen <AssignTo> tidak ditentukan, maka itulah penyebab error. Elemen <AssignTo> wajib ditentukan dalam kebijakan BasicAuthentication untuk operasi Encode dan Decode.

    Contoh kebijakan BasicAuthentication yang ditampilkan di bawah digunakan untuk operasi Enkode, tetapi tidak memiliki elemen <AssignTo> yang ditentukan:

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

    Deployment gagal dengan error di bawah:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Resolusi

Pastikan elemen <AssignTo> ditentukan dalam kebijakan BasicAuthentication untuk operasi Encode atau Decode.

Untuk memperbaiki contoh yang ditampilkan di atas, sertakan elemen <AssignTo> dalam kebijakan seperti yang ditunjukkan di bawah ini:

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

Pesan error

Deployment proxy API melalui UI Apigee atau API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Deployment Proxy API akan gagal jika elemen <Source> tidak ditentukan dalam kebijakan BasicAuthentication yang digunakan untuk operasi decoding. Elemen <Source> bersifat wajib jika <Operation> ditentukan sebagai Decode dalam kebijakan BasicAuthentication.

Diagnosis

  1. Periksa semua kebijakan BasicAuthentication yang digunakan di proxy API. Jika ada kebijakan di mana elemen <Source> tidak ditentukan dan elemen <Operation> ditetapkan sebagai Decode, maka itulah penyebab error. Elemen <Source> bersifat wajib jika <Operation> ditentukan sebagai Decode dalam kebijakan BasicAuthentication.

    Contoh kebijakan BasicAuthentication yang ditampilkan di bawah digunakan untuk operasi Decode, tetapi tidak memiliki elemen <Source> yang ditentukan:

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

    Deployment gagal dengan error di bawah:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

Resolusi

Pastikan elemen <Source> ditentukan dalam kebijakan BasicAuthentication saat digunakan untuk operasi Decode.

Untuk memperbaiki contoh yang ditampilkan di atas, sertakan elemen <Source> dalam kebijakan seperti yang ditunjukkan di bawah ini:

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