Risoluzione degli errori di deployment del criterio BasicAuthentication

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

UserNameRequired

Messaggio di errore

Il deployment del proxy API tramite la UI o l'API di gestione perimetrale non va a buon fine e questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Il deployment del proxy API non riesce se l'elemento <User> non è definito nel criterio BasicAuthentication. L'elemento <User> è obbligatorio per le operazioni di codifica e decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. L'errore è causato da eventuali criteri in cui l'elemento <User> non è specificato. L'elemento <User> è obbligatorio nel criterio BasicAuthentication per le operazioni di codifica o decodifica.

    Il criterio BasicAuthentication di esempio mostrato di seguito viene utilizzato per le operazioni di codifica, ma non è stato definito l'elemento <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>
    

    Il deployment non riesce e restituisce il seguente errore:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <User> sia definito nel criterio BasicAuthentication per le operazioni di codifica o decodifica.

Per correggere l'esempio mostrato sopra, includi l'elemento <User> all'interno del criterio, come mostrato di seguito:

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

Messaggio di errore

Il deployment del proxy API tramite la UI o l'API di gestione perimetrale non va a buon fine e questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Il deployment del proxy API non riesce se l'elemento <Password> non è definito nel criterio BasicAuthentication. L'elemento <Password> è obbligatorio per le operazioni di codifica e decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. L'errore è causato da un criterio in cui l'elemento <Password> non è definito. L'elemento <Password> è obbligatorio nel criterio BasicAuthentication per le operazioni di codifica o decodifica.

    Il criterio BasicAuthentication di esempio mostrato di seguito viene utilizzato per le operazioni di codifica, ma non è stato definito l'elemento <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>
    

    Il deployment non riesce e restituisce il seguente errore:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <Password> sia definito nel criterio BasicAuthentication per le operazioni di codifica o decodifica.

Per correggere l'esempio mostrato sopra, includi l'elemento <Password> all'interno del criterio, come mostrato di seguito:

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

Messaggio di errore

Il deployment del proxy API tramite la UI o l'API di gestione perimetrale non va a buon fine e questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Il deployment del proxy API non riesce se l'elemento <AssignTo> non è definito nel criterio BasicAuthentication. L'elemento <AssignTo> è obbligatorio per le operazioni di codifica e decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esiste un criterio in cui l'elemento <AssignTo> non è definito, questo è la causa dell'errore. L'elemento <AssignTo> è obbligatorio per essere definito nel criterio BasicAuthentication per le operazioni di Encode e Decode.

    Il criterio BasicAuthentication di esempio mostrato di seguito viene utilizzato per le operazioni di codifica, ma non è stato definito l'elemento <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>
    

    Il deployment non riesce e restituisce il seguente errore:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <AssignTo> sia definito nel criterio BasicAuthentication per le operazioni di codifica o decodifica.

Per correggere l'esempio mostrato sopra, includi l'elemento <AssignTo> all'interno del criterio, come mostrato di seguito:

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

Messaggio di errore

Il deployment del proxy API tramite la UI o l'API di gestione perimetrale non va a buon fine e questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Il deployment del proxy API non riesce se l'elemento <Source> non è definito nel criterio BasicAuthentication utilizzato per la decodifica dell'operazione. L'elemento <Source> è obbligatorio se <Operation> viene specificato come Decode nel criterio BasicAuthentication.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esiste un criterio in cui l'elemento <Source> non è definito e l'elemento <Operation> è definito come Decode, questo è la causa dell'errore. L'elemento <Source> è obbligatorio se <Operation> viene specificato come Decode nel criterio BasicAuthentication.

    Il criterio BasicAuthentication di esempio mostrato di seguito viene utilizzato per le operazioni Decode, ma non è stato definito l'elemento <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>
    

    Il deployment non riesce e restituisce il seguente errore:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

Risoluzione

Assicurati che l'elemento <Source> sia definito nel criterio BasicAuthentication quando viene utilizzato per l'operazione Decode.

Per correggere l'esempio mostrato sopra, includi l'elemento <Source> all'interno del criterio, come mostrato di seguito:

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