Risoluzione degli errori di deployment del criterio BasicAuthentication

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

UserNameRequired

Messaggio di errore

Il deployment del proxy API tramite l'API o l'interfaccia utente di Apigee non va a buon fine con 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 va a buon fine 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 di autenticazione di base utilizzati nel proxy API. Se esiste una norma in cui non è specificato l'elemento <User>, è questa la causa dell'errore. L'elemento <User> è obbligatorio nel criterio BasicAuthentication per le operazioni di codifica o decodifica.

    Il criterio di autenticazione di base di esempio mostrato di seguito viene utilizzato per l'operazione di codifica, ma non ha 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 l'operazione 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 l'API o l'interfaccia utente di Apigee non va a buon fine con 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 va a buon fine 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 di autenticazione di base di esempio mostrato di seguito viene utilizzato per l'operazione di codifica, ma non ha 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 l'operazione 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 l'API o l'interfaccia utente di Apigee non va a buon fine con 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 di autenticazione di base utilizzati nel proxy API. Se esiste una norma in cui l'elemento <AssignTo> non è definito, è la causa dell'errore. L'elemento <AssignTo> è obbligatorio per essere definito nel criterio BasicAuthentication per le operazioni di Encode e Decode.

    Il criterio di autenticazione di base di esempio mostrato di seguito viene utilizzato per l'operazione di codifica, ma non ha 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 con l'errore seguente:

    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 l'API o l'interfaccia utente di Apigee non va a buon fine con 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> è 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 di autenticazione di base di esempio mostrato di seguito viene utilizzato per l'operazione Decode, ma non ha 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>