Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Découvrez comment créer une application web qui connecte des utilisateurs authentifiés par AD FS 2019 et acquiert des jetons à l’aide de la bibliothèque MSAL pour appeler des API web.
Avant de lire cet article, vous devez connaître les concepts d’AD FS et le flux d’octroi du code d’autorisation.
Vue d’ensemble
Dans ce flux, une authentification est ajoutée à l’application web (Server App), qui peut alors connecter des utilisateurs et appeler une API web. Dans l’application web, utilisez la méthode d’acquisition de jeton AcquireTokenByAuthorizationCode de MSAL pour appeler l’API web. Vous utilisez le flux d'autorisation par code, en stockant le jeton acquis dans le cache des jetons. En cas de besoin, le contrôleur acquiert ensuite des jetons à partir du cache, en mode silencieux. MSAL actualise le jeton si nécessaire.
Les applications web qui appellent des API web présentent les caractéristiques suivantes :
- sont des applications clientes confidentielles ;
- qui ont inscrit un secret (secret partagé d’application, certificat ou compte AD) auprès d’AD FS. Ce secret est transmis lors de l’appel à AD FS pour obtenir un jeton.
Pour découvrir les étapes nécessaires à inscrire une application web dans AD FS et la configurer de manière à acquérir des jetons pour appeler une API web, nous allons utiliser un exemple disponible ici.
Conditions préalables
- Outils clients GitHub
- AD FS 2019 (ou version ultérieure) configuré et en cours d’exécution
- Visual Studio 2013 ou une version ultérieure
Inscription d’application dans AD FS
Cette section montre comment inscrire l’application web comme client confidentiel et l’API web comme partie 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 le Nom, entrez WebAppToWebApi et sous Applications client-serveur, sélectionnez le modèle Application serveur accédant à une API web. Cliquez sur Suivant.
Copiez la valeur d’Identificateur du client. Celle-ci sera utilisée ultérieurement comme valeur pour ida:ClientId dans le fichier Web.config des applications. Entrez ce qui suit pour URI de redirection :https://localhost:44326.. Cliquez sur Ajouter. Cliquez sur Suivant.
Sur l’écran Configurer les informations d’identification de l’application, cochez Générer un secret partagé et copiez le secret. Ce secret sera utilisé ultérieurement comme valeur pour ida:ClientSecret dans le fichier Web.config des applications. Cliquez sur Suivant.
Sur l’écran Configurer l’API web, entrez Identificateur :https://webapi.. Cliquez sur Add. Cliquez sur Suivant. Cette valeur sera utilisée ultérieurement pour ida:GraphResourceId dans le fichier Web.config des applications.
Sur l’écran Appliquer la stratégie de contrôle d’accès, sélectionnez Autoriser tout le monde, puis cliquez sur Suivant.
Sur l’écran Configurer les autorisations de l’application, assurez-vous que openid et user_impersonation sont sélectionnés, puis cliquez sur Suivant.
Sur l’écran Résumé, cliquez sur Suivant.
Sur la page Terminé, cliquez sur Fermer.
Configuration du code
Cette section montre comment configurer une application web ASP.NET qui connecte un utilisateur et récupère un jeton pour appeler l’API web.
Téléchargez l’exemple.
Ouvrez l’exemple à l’aide de Visual Studio.
Ouvrez le fichier Web.config. Modifiez les éléments suivants :
ida:ClientId
- saisissez la valeur Identificateur du client du point 3 de la section Inscription de l'application d'AD FS.ida:ClientSecret
- saisissez la valeur Secret du point 4 dans la section Inscription d'application dans AD FS.ida:RedirectUri
- saisissez la valeur URI de redirection du point 3 de la section Inscription de l'application d'AD FS.ida:Authority
- tapez https://[votre nom d’hôte AD FS]/adfs. Par exemple :https://adfs.contoso.com/adfs
ida:Resource
- saisissez la valeur Identificateur du point 5 de la section Inscription de l'application d'AD FS.
Tester l’exemple
Cette section montre comment tester l’exemple configuré.
Une fois les modifications apportées au code, regénérez la solution.
En haut de Visual Studio, vérifiez qu’Internet Explorer est sélectionné, puis cliquez sur la flèche verte.
Sur la page d’accueil, cliquez sur Se connecter.
Vous serez redirigé vers la page de connexion AD FS. Connectez-vous.
Une fois la connexion établie, cliquez sur Jeton d’accès.
En cliquant sur Jeton d'accès, vous obtenez les informations relatives au jeton d'accès en appelant l'API Web.
Étapes suivantes
Scénarios d'application et flux OpenID Connect/OAuth avec AD FS