Informazioni sugli endpoint OAuth

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza documentazione di Apigee Edge.

Per svolgere il suo lavoro come server di autorizzazione OAuth2, Apigee deve esporre gli endpoint dove i client possono richiedere token e codici di autorizzazione. Questo argomento offre una rapida a questi endpoint e ti 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 client_credentials tipo di autorizzazione. 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. Eseguirà Criterio GeneraAccessToken, che deve essere configurato per supportare la concessione client_credentials di testo.

...
       <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.