Informazioni sugli endpoint OAuth

Stai visualizzando la documentazione di Apigee X.
Visualizza la documentazione di Apigee Edge.

Per eseguire la sua operazione di server per autorizzazioni OAuth2, Apigee deve esporre endpoint dove i client possono richiedere token e codici di autenticazione. 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 che i client chiamano per richiedere i token OAuth (o codici di autenticazione). Ecco una richiesta di esempio 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"

È necessario un criterio OAuthV2 per elaborare questa richiesta. Come puoi dedurre dalla richiesta di esempio sopra, il criterio deve supportare il "tipo di concessione" & "credenziali client" ed eseguire 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 sezione 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 è riportato un esempio di configurazione di endpoint per la generazione di un token di accesso. Eseguirà 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 sul codice campione, consulta la sezione Richiedere token di accesso e codici di autorizzazione