Informazioni sugli endpoint OAuth

Questa pagina si applica a Apigee e Apigee ibrido.

Visualizza la documentazione di Apigee Edge.

Per svolgere il suo lavoro come 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 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 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 di configurazione facoltativi che puoi configurare con questo criterio, consulta la pagina relativa al 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 CreateAccessToken, 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, consulta l'articolo Scaricare i token OAuth 2.0.