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 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 per quelle 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 Encode o Decode.

Per correggere l'esempio mostrato sopra, includi l'elemento <User> nella policy 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 nel criterio BasicAuthentication. L'elemento <Password> è obbligatorio sia per le operazioni di codifica che per quelle di decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esiste una norma 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 Encode o Decode.

Per correggere l'esempio mostrato sopra, includi l'elemento <Password> nella policy 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 per quelle di decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esiste una norma in cui l'elemento <AssignTo> non è definito, questo è il motivo dell'errore. L'elemento <AssignTo> è obbligatorio per la definizione dei criteri BasicAuthentication per le operazioni di codifica e 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 Encode o Decode.

Per correggere l'esempio mostrato sopra, includi l'elemento <AssignTo> nella policy 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 un criterio 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>