Устранение ошибок развертывания политики BasicAuthentication

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Имя пользователяОбязательно

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

Причина

Развертывание прокси-сервера API завершается неудачно, если элемент <User> не определен в политике BasicAuthentication . Элемент <User> является обязательным для операций кодирования и декодирования.

Диагностика

  1. Изучите все политики BasicAuthentication, используемые в прокси-сервере API. Если существует какая-либо политика, в которой элемент <User> не указан, это причина ошибки. Элемент <User> является обязательным в политике BasicAuthentication для операций кодирования или декодирования.

    Пример политики BasicAuthentication, показанный ниже, используется для операции шифрования, но в нем не определен элемент <User> :

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

    Развертывание завершается с ошибкой ниже:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Разрешение

Убедитесь, что элемент <User> определен в политике BasicAuthentication для операции кодирования или декодирования.

Чтобы исправить приведенный выше пример, включите элемент User> в политику, как показано ниже:

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

Требуется пароль

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

Причина

Развертывание прокси-сервера API завершается неудачно, если элемент <Password> не определен в политике BasicAuthentication . Элемент <Password> является обязательным для операций кодирования и декодирования.

Диагностика

  1. Изучите все политики BasicAuthentication, используемые в прокси-сервере API. Если существует какая-либо политика, в которой элемент <Password> не определен, это и есть причина ошибки. Элемент <Password> является обязательным в политике BasicAuthentication для операций кодирования или декодирования.

    Пример политики BasicAuthentication, показанный ниже, используется для операции шифрования, но в нем не определен элемент <Password> :

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

    Развертывание завершается с ошибкой ниже:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Разрешение

Убедитесь, что элемент <Password> определен в политике BasicAuthentication для операции кодирования или декодирования.

Чтобы исправить приведенный выше пример, включите элемент < Password> в политику, как показано ниже:

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

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

Причина

Развертывание прокси-сервера API завершается неудачно, если элемент <AssignTo> не определен в политике BasicAuthentication . Элемент <AssignTo> является обязательным для операций кодирования и декодирования.

Диагностика

  1. Изучите все политики BasicAuthentication, используемые в прокси-сервере API. Если существует какая-либо политика, в которой элемент <AssignTo> не определен, это и есть причина ошибки. Элемент <AssignTo> обязательно должен быть определен в политике BasicAuthentication для операций кодирования и декодирования.

    Пример политики BasicAuthentication, показанный ниже, используется для операции шифрования, но в нем не определен элемент <AssignTo> :

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

    Развертывание завершается с ошибкой ниже:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Разрешение

Убедитесь, что элемент <AssignTo> определен в политике BasicAuthentication для операции кодирования или декодирования.

Чтобы исправить приведенный выше пример, включите элемент < AssignTo> в политику, как показано ниже:

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

ИсточникОбязательно

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:

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

Пример сообщения об ошибке

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

Пример скриншота

Причина

Развертывание прокси-сервера API завершается неудачей, если элемент <Source> не определен в политике BasicAuthentication, которая используется для операции декодирования. Элемент <Source> является обязательным, если <Operation> указан как Decode в политике BasicAuthentication.

Диагностика

  1. Изучите все политики BasicAuthentication, используемые в прокси-сервере API. Если существует какая-либо политика, в которой элемент <Source> не определен, а элемент <Operation> определен как Decode , то это и есть причина ошибки. Элемент <Source> является обязательным, если <Operation> указан как Decode в политике BasicAuthentication.

    Пример политики BasicAuthentication, показанный ниже, используется для операции Decode , но в нем не определен элемент <Source> :

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

    Развертывание завершается с ошибкой ниже:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

Разрешение

Убедитесь, что элемент <Source> определен в политике BasicAuthentication, когда он используется для операции Decode .

Чтобы исправить приведенный выше пример, включите элемент < Source> в политику, как показано ниже:

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