Informazioni sugli endpoint OAuth

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Per svolgere il suo lavoro di server di autorizzazione OAuth2, Apigee deve esporre gli endpoint in cui i client possono richiedere token e codici di autorizzazione. Questo argomento offre una rapida 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 i token OAuth (o i codici di autenticazione). Ecco un'esempio di richiesta per 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 è necessario un criterio OAuthV2. Come puoi dedurre dalla richiesta di esempio precedente, il criterio deve supportare il tipo di concessione "credenziali client" ed essere eseguito sul percorso /oauth/client_credentials/accesstoken.

Questo è un criterio OAuthV2 di esempio configurato per accettare il tipo di autorizzazione client_credentials. Per informazioni sugli elementi facoltativi di configurazione 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>

Di seguito è riportata una configurazione di endpoint di esempio per la generazione di un token di accesso. Verrà eseguito il criterio GeneraAccessToken, che deve essere configurato per supportare il tipo di autorizzazione 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 autorizzazione supportati e su codice campione, consulta la pagina Ottenere i token OAuth 2.0.