Choisir le mécanisme d’authentification approprié
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Pour les applications qui s’interfacent avec Azure DevOps Services, vous devez vous authentifier pour accéder à des ressources telles que les API REST. Cet article fournit des conseils pour vous aider à choisir le mécanisme d’authentification approprié pour votre application.
Le tableau suivant présente les mécanismes d’authentification recommandés pour différents types d’application. Reportez-vous aux descriptions, exemples et exemples de code associés pour vous aider à démarrer.
Type d’application | Description | Exemple | Mécanisme d’authentification | Exemples de code |
---|---|---|---|---|
Application côté client interactive (REST) | Application cliente qui autorise l’interaction utilisateur appelant des API REST Azure DevOps Services | Application console énumérant des projets dans un organization | Bibliothèque d’authentification Microsoft (MSAL) | Échantillon |
Application côté client interactive (bibliothèques clientes) | Application cliente qui autorise l’interaction utilisateur appelant les bibliothèques clientes Azure DevOps Services | Application console énumérant les bogues attribués à l’utilisateur actuel | Fournisseurs de données pour la connexion à Azure Analysis Services | Échantillon |
Application JavaScript interactive | Application JavaScript basée sur l’interface graphique graphique | Application à page unique AngularJS affichant des informations de projet pour un utilisateur | Bibliothèque d’authentification Microsoft pour JavaScript (MSAL JS) | Échantillon |
Application web OAuth interactive | Application web basée sur une interface utilisateur graphique qui nécessite le consentement de l’utilisateur | Tableau de bord web personnalisé affichant des résumés de build | OAuth | Échantillon |
Application côté client non interactive | Application texte sans tête uniquement côté client | Application console affichant tous les bogues attribués à un utilisateur | Profil d’appareil | Échantillon |
Un jeton d’accès personnel (PAT) | Jeton du porteur pour accéder à vos propres ressources | Utilisez votre PAT à la place de votre mot de passe pour les demandes REST. Pas idéal pour la création d’applications. | Pats | docs |
Application serveur | Azure DevOps Server application à l’aide de la bibliothèque du modèle de service client | extension Azure DevOps Server affichant les tableaux de bord des bogues d’équipe | Bibliothèques clientes | Échantillon |
Application principaux de service | Application avec accès aux ressources Azure DevOps de organization | Fonction Azure pour créer des éléments de travail | Principaux de service et identités managées | Échantillon |
Extension web | extension Azure DevOps Services | Extension Cartes agiles | KIT DE DÉVELOPPEMENT LOGICIEL (SDK) d’extension web VSS | Échantillon |
Pour plus d’informations, consultez les articles suivants :
- À propos de la sécurité et de l’identité.
- Authentification OAuth
- Principaux de service et identités managées
- Bibliothèques clientes Azure DevOps
- Extensions Azure DevOps
- Vue d’ensemble de la protection des données Azure DevOps
L’activation de l’authentification de base IIS invalide l’utilisation de PAT pour Azure DevOps Server
Pour plus d’informations, consultez Utilisation de l’authentification de base IIS avec Azure DevOps localement.
Forum Aux Questions (FAQ)
Q : Pourquoi mon compte de service ne peut-il pas accéder à l’API REST Azure DevOps ?
R : Votre compte de service peut ne pas avoir « matérialisé ». Les comptes de service sans autorisations de connexion interactive ne peuvent pas se connecter. Pour plus d’informations, consultez cette procédure de contournement pour une solution.
Q : Dois-je utiliser les bibliothèques clientes Azure DevOps Services ou les API REST Azure DevOps Services pour mon application interactive côté client ?
R : Nous vous recommandons d’utiliser des bibliothèques clientes Azure DevOps Services sur des API REST pour accéder aux ressources Azure DevOps Services. Ils sont plus simples et plus faciles à gérer lorsque les versions du point de terminaison REST changent. Si les bibliothèques clientes ne disposent pas de certaines fonctionnalités, utilisez MSAL pour l’authentification avec nos API REST.
Q : Cette aide s’applique-t-elle uniquement à Azure DevOps Services ou est-elle également pertinente pour les utilisateurs locaux Azure DevOps Server ?
R : Ces conseils concernent principalement les utilisateurs d’Azure DevOps Services. Pour les utilisateurs d’Azure Devops Server, nous vous recommandons d’utiliser les bibliothèques clientes, l’authentification Windows ou les jetons d’accès personnel (PAT) pour l’authentification.
Q : Que se passe-t-il si je souhaite que mon application s’authentifie auprès de Azure DevOps Server et Azure DevOps Services ?
R : La meilleure pratique consiste à avoir des chemins d’authentification distincts pour Azure DevOps Server et Azure DevOps Services. Vous pouvez utiliser le requestContext
service pour déterminer le service auquel vous accédez, puis appliquer le mécanisme d’authentification approprié. Si vous préférez une solution unifiée, les PAT fonctionnent pour les deux.