Partager via


Configurer le gestionnaire d’informations d’identification – API GitHub

S’APPLIQUE À : tous les niveaux de Gestion des API

Dans cet article, vous apprenez à créer une connexion managée dans Gestion des API, et à appeler une API GitHub qui nécessite un jeton OAuth 2.0. Le type d’autorisation par code d’autorisation est utilisé dans cet exemple.

Vous allez apprendre à effectuer les actions suivantes :

  • Inscrire une application dans GitHub
  • Configurer un fournisseur d’informations d’identification dans Gestion des API
  • Configurer une connexion
  • Créer une API dans Gestion des API et configurer une stratégie
  • Tester votre API GitHub dans Gestion des API

Prérequis

Étape 1 : Inscrire une application dans GitHub

Créez une application OAuth GitHub pour l’API et accordez-lui les autorisations appropriées pour les demandes que vous voulez appeler.

  1. Se connecter à GitHub.

  2. Dans votre profil de compte, accédez à Paramètres > Paramètres du développeur > Applications OAuth. Sélectionnez Nouvelle application OAuth.

    Capture d’écran de l’inscription d’une nouvelle application OAuth dans GitHub.

    1. Entrez un nom d’application et une URL de page d’accueil pour l’application. Pour cet exemple, vous pouvez fournir une URL d’espace réservé, telle que http://localhost.
    2. Si vous le souhaitez, ajoutez une description d’application.
    3. Dans URL de rappel d’autorisation (URL de redirection), entrez https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME> en indiquant le nom de l’instance Gestion des API dans laquelle vous allez configurer le fournisseur d’informations d’identification.
  3. Sélectionnez Register application (Inscrire l’application).

  4. Dans la page Général, copiez l’ID client que vous allez utiliser à l’étape 2.

  5. Sélectionnez Générer un nouvelle clé secrète client. Copiez le secret, qui ne sera plus affiché mais dont vous allez vous servir à l’étape 2.

    Capture d’écran montrant comment obtenir l’ID client et la clé secrète client pour l’application dans GitHub.

Étape 2 : Configurer un fournisseur d’informations d’identification dans Gestion des API

  1. Connectez-vous au portail et accédez à votre instance Gestion des API.

  2. Dans le menu de gauche, sélectionnez Gestionnaire d’informations d’identification>+ Créer.

    Capture d’écran de la création d’informations d’identification Gestion des API dans le Portail Azure.

  3. Dans la page Créer un fournisseur d’informations d’identification, entrez les paramètres suivants :

    Paramètres Valeur
    Nom du fournisseur d’informations d’identification Nom de votre choix, tel que github-01
    Fournisseur d’identité Sélectionnez GitHub.
    Type d’autorisation Sélectionnez Code d’autorisation.
    ID client Collez la valeur que vous avez copiée précédemment à partir de l’inscription de l’application
    Clé secrète client Collez la valeur que vous avez copiée précédemment à partir de l’inscription de l’application
    Portée Pour cet exemple, définissez l’étendue sur Utilisateur
  4. Sélectionnez Créer.

  5. Quand vous y êtes invité, passez en revue l’URL de redirection OAuth affichée, puis sélectionnez Oui pour confirmer qu’elle correspond à l’URL que vous avez entrée lors de l’inscription de l’application.

Étape 3 : Configurer une connexion

Sous l’onglet Connexion, effectuez les étapes pour configurer votre connexion au fournisseur.

Remarque

Quand vous configurez une connexion, le service Gestion des API configure par défaut une stratégie d’accès qui permet l’accès par l’identité managée affectée par le système de l’instance. Cet accès est suffisant pour cet exemple. Vous pouvez ajouter des stratégies d’accès supplémentaires en fonction de vos besoins.

  1. Entrez un nom de connexion, puis sélectionnez Enregistrer.
  2. Sous Étape 2 : Se connecter à votre connexion (pour le type d’autorisation de code d’autorisation), sélectionnez le lien pour vous connecter au fournisseur d’informations d’identification. Effectuez les étapes pour autoriser l’accès, puis retournez à Gestion des API.
  3. Sous Étape 3 : Déterminer qui aura accès à cette connexion (stratégie d’accès), le membre d’identité managée est répertorié. L’ajout d’autres membres est facultatif, selon votre scénario.
  4. Cliquez sur Terminer.

La nouvelle connexion apparaît dans la liste des connexions et présente l’état Connecté. Si vous souhaitez créer une autre connexion pour le fournisseur d’informations d’identification, effectuez les étapes précédentes.

Conseil

Utilisez le portail pour ajouter, mettre à jour ou supprimer des connexions à un fournisseur d’informations d’identification à tout moment. Pour plus d’informations, consultez l’article Configurer plusieurs connexions.

Étape 4 : Créer une API dans Gestion des API et configurer une stratégie

  1. Connectez-vous au portail et accédez à votre instance Gestion des API.

  2. Dans le menu de gauche, sélectionnez API > + Ajouter une API.

  3. Sélectionnez HTTP ou saisissez les paramètres suivants. Sélectionnez ensuite Créer.

    Paramètre Valeur
    Nom complet githubuser
    URL du service web https://api.github.com
    Suffixe de l’URL de l’API githubuser
  4. Accédez à l’API nouvellement créée et sélectionnez Ajouter une opération. Entrez les paramètres suivants et sélectionnez Enregistrer.

    Paramètre Valeur
    Nom complet getauthdata
    URL pour GET /user

    Capture d’écran illustrant l’ajout d’une opération getauthdata à l’API sur le portail.

  5. Suivez les étapes précédentes pour ajouter une autre opération avec les paramètres suivants.

    Paramètre Valeur
    Nom complet getauthfollowers
    URL pour GET /user/followers
  6. Sélectionnez Toutes les opérations. Dans la section Traitement entrant, sélectionnez l’icône Éditeur de code (</>).

  7. Copiez-collez le code suivant dans l’éditeur de stratégie. Vérifiez que les valeurs provider-id et authorization-id dans la stratégie get-authorization-context correspondent aux noms du fournisseur d’informations d’identification et de la connexion, respectivement, que vous avez configurés dans les étapes précédentes. Sélectionnez Enregistrer.

    <policies>
        <inbound>
            <base />
            <get-authorization-context provider-id="github-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" />
            <set-header name="Authorization" exists-action="override">
                <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
            </set-header>
            <set-header name="User-Agent" exists-action="override">
                <value>API Management</value>
            </set-header>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

La définition de stratégie précédente se compose de trois parties :

  • La stratégie get-authorization-context extrait un jeton d’autorisation en référençant le fournisseur d’informations d’identification et la connexion que vous avez créés précédemment.
  • La première stratégie set-header crée un en-tête HTTP avec le jeton d’autorisation extrait.
  • La seconde stratégie set-header crée un en-tête User-Agent (condition demandée par l’API GitHub).

Étape 5 : Tester l’API

  1. Sous l’onglet Test, sélectionnez une opération que vous avez configurée.

  2. Sélectionnez Envoyer.

    Capture d’écran illustrant le test réussi de l’API sur le portail.

    Une réponse réussie renvoie les données utilisateur de l’API GitHub.