Informazioni sugli endpoint OAuth

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Per svolgere il suo ruolo di server di autorizzazione OAuth2, Apigee deve esporre endpoint in cui i client possono richiedere token e codici di autenticazione. Questo argomento offre una breve introduzione a questi endpoint e mostra come configurarli in Apigee.

Che cos'è un endpoint OAuth2?

Un endpoint OAuth2 è un URL chiamato dai client per richiedere token OAuth (o codici di autenticazione). Ecco un esempio di richiesta di un token di accesso:

$ curl -i -H "ContentType: x-www-form-urlencoded" \
-X POST "https://apitest.acme.com/oauth/client_credential/accesstoken" \
-d "grant_type=client_credentials" \
-H "Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ"

Per elaborare questa richiesta, devi avere un criterio OAuthV2. Come puoi ricavare dalla richiesta di esempio riportata sopra, il criterio deve supportare il tipo di concessione "credenziali client" ed eseguire il codice nel percorso /oauth/client_credentials/accesstoken.

Questo è un criterio OAuthV2 di esempio configurato per accettare il tipo di concessione client_credentials. Per informazioni sugli elementi di configurazione facoltativi che puoi configurare con questo criterio, consulta il criterio OAuthV2.

<OAuthV2 name="GenerateAccessToken">
    <Operation>GenerateAccessToken</Operation>
    <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes -->
    <SupportedGrantTypes>
      <GrantType>client_credentials</GrantType>
    </SupportedGrantTypes>
    <GenerateResponse enabled="true"/>
</OAuthV2>

Ecco un esempio di configurazione dell'endpoint per la generazione di un token di accesso. Verrà eseguito il criterio GenerateAccessToken, che deve essere configurato per supportare il tipo di concessione client_credentials.

...
       <Flow name="generate-access-token">
            <Request>
                <Step>
                    <Name>GenerateAccessToken</Name>
                </Step>
            </Request>
            <Response/>
            <Condition>(proxy.pathsuffix MatchesPath "/token") and (request.verb = "POST")</Condition>
        </Flow>
...

Se il client fornisce le credenziali corrette, il criterio genera e restituisce un token; altrimenti, restituisce un errore.

Argomenti correlati

Per informazioni dettagliate su tutti i tipi di concessioni supportati e codice campione, vedi Ottenere token OAuth 2.0.