Pemecahan masalah error deployment kebijakan BasicAuthentication

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

UserNameRequired

Pesan error

Deployment proxy API melalui UI atau API Apigee 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> wajib untuk operasi Encode dan Decode.

Diagnosis

  1. Periksa semua kebijakan BasicAuthentication yang digunakan di proxy API. Jika ada kebijakan yang tidak menentukan elemen <User>, hal tersebut adalah penyebab error. Elemen <User> wajib ada dalam kebijakan BasicAuthentication untuk operasi Encode atau Decode.

    Contoh kebijakan BasicAuthentication yang ditampilkan di bawah digunakan untuk operasi Encode, 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 atau API Apigee 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> wajib untuk operasi Encode dan Decode.

Diagnosis

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

    Contoh kebijakan BasicAuthentication yang ditampilkan di bawah digunakan untuk operasi Encode, 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 atau API Apigee 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> wajib untuk operasi Encode dan Decode.

Diagnosis

  1. Periksa semua kebijakan BasicAuthentication yang digunakan di proxy API. Jika ada kebijakan yang tidak menentukan elemen <AssignTo>, 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 Encode, 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 atau API Apigee 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 API Proxy akan gagal jika elemen <Source> tidak ditentukan dalam kebijakan BasicAuthentication yang digunakan untuk operasi decoding. Elemen <Source> wajib disertakan jika <Operation> ditentukan sebagai Decode dalam kebijakan BasicAuthentication.

Diagnosis

  1. Periksa semua kebijakan BasicAuthentication yang digunakan di proxy API. Jika ada kebijakan yang elemen <Source>-nya tidak ditentukan dan elemen <Operation>-nya ditentukan sebagai Decode, maka itulah penyebab error. Elemen <Source> wajib disertakan 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>