Découvrez comment créer une API web appelant une autre API web au nom de l’utilisateur.
Pour mieux comprendre comment configurer pour le compte du scénario d’authentification dans AD FS, nous allons utiliser un exemple disponible ici et suivre pas à pas les étapes d’inscription d’application et de configuration du code.
Cette section montre comment inscrire l’application native en tant que client public et les API web en tant que parties de confiance dans AD FS
Dans Gestion AD FS, cliquez avec le bouton droit sur Groupes d’applications et sélectionnez Ajouter un groupe d’applications.
Dans l’Assistant Groupe d’applications, pour Nom, entrez WebApiToWebApi, et sous Applications client-serveur, sélectionnez Application native accédant à un modèle d’API web. Cliquez sur Suivant.

Copiez la valeur d’Identificateur du client. Nous l’utiliserons ultérieurement comme valeur pour ClientId dans le fichier App.config de l’application. Entrez ce qui suit pour URI de redirection : - https://ToDoListClient. Cliquez sur Add. Cliquez sur Suivant.

Dans l’écran Configurer l’API web, entrez Identificateur :https://localhost:44321/. Cliquez sur Add. Cliquez sur Suivant. Cette valeur sera utilisée plus tard dans les fichiers App.config et Web.Config de l’application .

Sur l’écran Appliquer la stratégie de contrôle d’accès, sélectionnez Autoriser tout le monde, puis cliquez sur Suivant.

Dans l’écran Configurer les autorisations d’application, sélectionnez openid et user_impersonation. Cliquez sur Suivant.

Dans l’écran Résumé, cliquez sur Suivant.
Dans la page Terminé, cliquez sur Fermer.
Dans Gestion AD FS, sélectionnez Groupes d’applications, puis le groupe d’applications WebApiToWebApi. Effectuez un clic droit et sélectionnez Propriétés.

Dans l’écran des propriétés WebApiToWebApi, cliquez sur Ajouter une application....

Sous Applications autonomes, sélectionnez Application serveur.

Dans l’écran Application serveur, ajoutez https://localhost:44321/ comme Identificateur client et l’URI de redirection.

Dans l’écran Configurer les informations d’identification de l’application, sélectionnez Générer un secret partagé. Copiez le secret en vue d’une utilisation ultérieure.

Dans l’écran Résumé, cliquez sur Suivant.
Dans la page Terminé, cliquez sur Fermer.
Dans Gestion AD FS, sélectionnez Groupes d’applications, puis le groupe d’applications WebApiToWebApi. Effectuez un clic droit et sélectionnez Propriétés.

Dans l’écran des propriétés WebApiToWebApi, cliquez sur Ajouter une application....

Sous Applications autonomes, sélectionnez API web.

Dans Configurer l’API web, ajoutez https://localhost:44300 comme Identificateur.

Dans l’écran Appliquer la stratégie de contrôle d’accès, sélectionnez Autoriser tout le monde, puis Suivant.

Dans l’écran Configurer les autorisations d’application, cliquez sur Suivant.

Dans l’écran Résumé, cliquez sur Suivant.
Dans la page Terminé, cliquez sur Fermer.
Cliquez sur OK sur l’écran WebApiToWebApi – Propriétés de l’API web 2
Dans l’écran Propriétés WebApiToWebApi, sélectionnez WebApiToWebApi – API web, puis Modifier....

Dans l’écran WebApiToWebApi – Propriétés de l’API web, sélectionnez l’onglet Règles de transformation d’émission, puis Ajouter une règle....

Dans l’Assistant Ajouter une règle de revendication de transformation, sélectionnez Envoyer des revendications à l’aide d’une règle personnalisée dans la liste déroulante Suivante, puis sélectionnez Suivant.

Entrez PassAllClaims dans Nom de la règle de revendication : champ et la règle de revendication x:[] = issue(claim=x); dans le champ Règle personnalisée :, puis cliquez sur >Terminer.

Cliquez sur OK sur l’écran WebApiToWebApi – Propriétés de l’API web
Dans l’écran Propriétés de WebApiToWebApi, sélectionnez WebApiToWebApi – API web 2, puis cliquez sur Modifier...
.
Dans l’écran WebApiToWebApi – Propriétés de l’API web 2, sélectionnez l’onglet Règles de transformation d’émission, puis Ajouter une règle...
Dans l’Assistant Ajouter une règle de revendication de transformation, sélectionnez Envoyer des revendications à l’aide d’une règle personnalisée dans la liste déroulante, puis sélectionnez Suivant 
Entrez PassAllClaims dans Nom de la règle de revendication : champ et la règle de revendication x:[] => issue(claim=x); dans le champ Règle personnalisée :, puis cliquez sur Terminer.

Cliquez sur OK sur l’écran WebApiToWebApi – Propriétés de l’API web 2, puis sur l’écran Propriétés de WebApiToWebApi.
Cette section montre comment configurer une API web pour appeler une autre API web
Cette section montre comment tester l’exemple configuré ci-dessus.
Une fois les modifications apportées au code, regénérez la solution.