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

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

UserNameRequired

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato 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 di decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esiste una norma in cui l'elemento <User> non è specificato, questo è il motivo dell'errore. L'elemento <User> è obbligatorio nel criterio BasicAuthentication per le operazioni di codifica o decodifica.

    La policy BasicAuthentication di esempio mostrata di seguito viene utilizzata per l'operazione Encode, ma non ha l'elemento <User> definito:

    <?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 va a buon fine e viene visualizzato il seguente errore:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <User> sia definito all'interno del criterio BasicAuthentication per l'operazione di codifica o decodifica.

Per correggere l'esempio mostrato sopra, includi l'elemento <User> all'interno della norma 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 la UI Apigee non riesce e viene visualizzato 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 nella policy BasicAuthentication. L'elemento <Password> è obbligatorio sia per le operazioni di codifica che di decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esiste una policy in cui l'elemento <Password> non è definito, questo è il motivo dell'errore. L'elemento <Password> è obbligatorio nel criterio BasicAuthentication per l'operazione Encode o Decode.

    La policy BasicAuthentication di esempio mostrata di seguito viene utilizzata per l'operazione Encode, ma non ha l'elemento <Password> definito:

    <?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 va a buon fine e viene visualizzato il seguente errore:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <Password> sia definito all'interno del criterio BasicAuthentication per l'operazione di codifica o decodifica.

Per correggere l'esempio mostrato sopra, includi l'elemento <Password> all'interno della norma 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 la UI Apigee non riesce e viene visualizzato 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 di decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esiste una policy in cui l'elemento <AssignTo> non è definito, questo è il motivo dell'errore. L'elemento <AssignTo> è obbligatorio per la definizione nel criterio BasicAuthentication sia per le operazioni di codifica che di decodifica.

    La policy BasicAuthentication di esempio mostrata di seguito viene utilizzata per l'operazione Encode, ma non ha l'elemento <AssignTo> definito:

    <?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 va a buon fine e viene visualizzato il seguente errore:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <AssignTo> sia definito all'interno del criterio BasicAuthentication per l'operazione di codifica o decodifica.

Per correggere l'esempio mostrato sopra, includi l'elemento <AssignTo> all'interno della norma 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 la UI Apigee non riesce e viene visualizzato 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 BasicAuthentication utilizzati nel proxy API. Se esiste una policy in cui l'elemento <Source> non è definito e l'elemento <Operation> è definito come Decode, questo è il motivo dell'errore. L'elemento <Source> è obbligatorio se <Operation> è specificato come Decode nel criterio BasicAuthentication.

    La policy BasicAuthentication di esempio mostrata di seguito viene utilizzata per l'operazione Decode, ma non ha l'elemento <Source> definito:

    <?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 va a buon fine e viene visualizzato 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> nella policy 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>