Risoluzione dei problemi relativi agli errori di deployment dei criteri di autenticazione di base

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 sia per le operazioni di codifica che per quelle di 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 con l'errore seguente:

    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 sia per le operazioni di codifica che per quelle di decodifica.

Diagnosi

  1. Esamina tutti i criteri di autenticazione di base utilizzati nel proxy API. Se esiste una norma in cui l'elemento <Password> non è definito, è la causa dell'errore. L'elemento <Password> è obbligatorio nel criterio BasicAuthentication per l'operazione 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 con l'errore seguente:

    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 va a buon fine se l'elemento <AssignTo> non è definito nel criterio BasicAuthentication. L'elemento <AssignTo> è obbligatorio sia per le operazioni di codifica che per quelle di 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> deve essere definito obbligatoriamente nel criterio BasicAuthentication sia per le operazioni di codifica che di 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 <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 l'operazione 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 va a buon fine se l'elemento <Source> non è definito nel criterio BasicAuthentication utilizzato per l'operazione di decodifica. L'elemento <Source> è obbligatorio se <Operation> è specificato come Decode nel criterio BasicAuthentication.

Diagnosi

  1. Esamina tutti i criteri di autenticazione di base utilizzati nel proxy API. Se esiste una norma in cui l'elemento <Source> non è definito e l'elemento <Operation> è definito come Decode, questa è la causa dell'errore. L'elemento <Source> è obbligatorio se <Operation> è 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 con l'errore seguente:

    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>