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 ada untuk operasi Encode dan Decode.

Diagnosis

  1. Periksa semua kebijakan BasicAuthentication yang digunakan di proxy API. Jika ada kebijakan yang tidak menentukan elemen <User>, maka itulah penyebab errornya. 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 ditunjukkan di atas, sertakan elemen <User> dalam kebijakan seperti yang ditunjukkan di bawah:

<?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 ada 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 errornya. 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 ditunjukkan di atas, sertakan elemen <Password> dalam kebijakan seperti yang ditunjukkan di bawah:

<?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 ada 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 errornya. 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 ditunjukkan di atas, sertakan elemen <AssignTo> dalam kebijakan seperti yang ditunjukkan di bawah:

<?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 Proxy API 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 tidak menentukan elemen <Source> dan elemen <Operation> ditentukan sebagai Decode, maka itulah penyebab errornya. 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 ditunjukkan di atas, sertakan elemen <Source> dalam kebijakan seperti yang ditunjukkan di bawah:

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