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 (o codici di autorizzazione) OAuth. 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 le "credenziali client" il tipo di autorizzazione e vengono eseguiti sul 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 Criterio OAuthV2.

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

Ecco una configurazione di endpoint di esempio 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 sul codice di esempio, vedi Ottenere token OAuth 2.0.