Comprendre les points de terminaison OAuth

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Pour remplir sa tâche en tant que serveur d'autorisation OAuth2, Apigee Edge doit exposer les points de terminaison où les clients peuvent demander des jetons et des codes d'authentification. Cette rubrique présente rapidement ces points de terminaison et vous explique comment les configurer dans Edge.

Qu'est-ce qu'un point de terminaison OAuth2 ?

Un point de terminaison OAuth2 est une URL que les clients appellent pour demander des jetons OAuth (ou des codes d'authentification). Voici un exemple de requête pour un jeton d'accès :

$ curl -i -H 'ContentType: x-www-form-urlencoded' \
-X POST 'https://docs-test.apigee.net/oauth/client_credential/accesstoken' \
-d 'grant_type=client_credentials' \
-H 'Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ'

Dans votre environnement Apigee Edge, une règle est nécessaire pour gérer ce type de demande. Comme vous pouvez le déduire de la requête, la règle doit accepter le type d'attribution "Identifiants client" et la règle doit s'exécuter sur le chemin d'accès /oauth/client_credentials/accesstoken.

Dans ce cas, la règle appropriée est une règle OAuthV2, configurée pour s'exécuter dans un flux tel que l'exemple suivant (où le nom de la stratégie est GenerateAccessTokenClient) :

        <Flow name="AccessTokenClientCredential">
            <Description/>
            <Request>
                <Step>
                    <FaultRules/>
                    <Name>GenerateAccessTokenClient</Name>
                </Step>
            </Request>
            <Response/>
            <Condition>(proxy.pathsuffix MatchesPath &quot;/accesstoken&quot;) and (request.verb = &quot;POST&quot;)</Condition>
        </Flow>

Si le client fournit les identifiants corrects, la stratégie génère et renvoie un jeton. Sinon, l'appel renvoie une erreur.

Localiser les points de terminaison par défaut

Apigee ajoute par défaut un exemple de proxy de point de terminaison OAuth2 à chaque nouvelle organisation qu'il crée. En recherchant, vous trouverez un proxy nommé oauth dans votre organisation.

Pour trouver ce proxy, procédez comme suit :

  1. Accédez à la page Proxies de l'API, comme décrit ci-dessous.

    Périphérie

    Pour accéder à la page Proxies de l'API à l'aide de l'interface utilisateur Edge:

    1. Connectez-vous à apigee.com/edge.
    2. Sélectionnez Développer > Proxys API dans la barre de navigation de gauche.
    3. Cliquez sur +Proxy

    Classic Edge (cloud privé)

    Pour accéder à la page Proxies de l'API à l'aide de l'interface utilisateur Classic Edge:

    1. Connectez-vous à http://ms-ip:9000, où ms-ip correspond à l'adresse IP ou au nom DNS du nœud du serveur de gestion.
    2. Sélectionnez API > Proxies d'API dans la barre de navigation supérieure.
  2. Dans la liste des proxys, sélectionnez celui nommé oauth.
  3. Sur la page de présentation du proxy, sélectionnez l'onglet Develop (Développer) pour afficher l'éditeur de proxy, puis examinez les règles et les flux du proxy.

Bonne pratique : Créer votre propre proxy de point de terminaison OAuth2

Le proxy oauth par défaut est limité : il n'accepte que les types d'attribution d'identifiants client. Ce proxy n'est fourni qu'à titre d'exemple. Pour la production, vous devez créer un proxy qui configure les points de terminaison OAuth2 répondant à vos exigences.

Remarque importante : Un proxy qui définit des points de terminaison OAuth2 est généralement un proxy sans cible. Le proxy agit comme un service qui s'exécute dans ProxyEndpoint et renvoie directement au client.

Articles associés

Demander des jetons d'accès et des codes d'autorisation