Authentification de service web

Effectué

Lorsque vous développez une application dans un autre langage de programmation tel que C #, Python ou Java, vous devez fournir des informations d’authentification au service Business Central avant de pouvoir utiliser différents services web. L’authentification peut être utilisée pour les services web OData et SOAP dans Business Central.

Deux options permettent de s’authentifier auprès de Business Central : Authentification de base et Authentification OAuth2. Avec l’authentification de base, vous devez fournir un nom d’utilisateur et une clé d’accès au service web comme mot de passe, tandis que pour OAuth2, vous devez configurer une application Microsoft Entra ID. L’authentification de base n’est plus prise en charge pour Business Central SaaS depuis avril 2022. L’authentification de base continue d’être prise en charge uniquement pour la version On-Premises.

Autrement dit, OAuth2 est la seule option pour la version SaaS et celle dont nous parlerons dans ce module d’apprentissage.

OAuth2 est une norme ouverte définie par le groupe de travail IETF OAuth. OAuth2 prend en charge différents flux d’authentification et Business Central en prend en charge deux :

  • Flux de code d’autorisation

  • Flux d’informations d’identification client

Avec le Flux de code d’autorisation, vous devez vous connecter en fournissant vos identifiant et mot de passe Microsoft Entra ID. Il s’agit des mêmes identifiant et mot de passe vous permettant de vous connecter à l’application Business Central. Il s’agit souvent du même identifiant que vous utilisez avec les services Office 365/Microsoft 365. Ainsi, l’application se connectant à Business Central à l’aide d’OAuth2 se connecte avec vos informations d’identification et agit donc comme si vous vous étiez connecté. Cela signifie également que l’application utilise les mêmes autorisations que celles affectées à votre compte d’utilisateur dans Business Central. Ce flux ne nécessite pas de licence distincte, car il s’exécute dans le cadre de la licence de l’utilisateur.

Un utilisateur sera invité à saisir ses informations d’identification et, par conséquent, verra chaque fois une boîte de dialogue de connexion. Autrement dit, vous ne pouvez pas utiliser ce flux pour les applications ne disposant d’aucune interface utilisateur (exemples : services exécutés en arrière-plan ou boutique en ligne devant récupérer des informations sur des articles).

Ce flux utilise des autorisations appelées autorisations déléguées dans les applications Microsoft Entra ID.

Le flux d’informations d’identification client est la solution pour les services qui doivent s’exécuter en arrière-plan. Ce flux n’a besoin que d’un ID client et d’une clé secrète client, sans qu’un utilisateur ait besoin de se connecter. Microsoft propose une licence d’« application » spéciale que vous pouvez utiliser pour ces types d’applications et qui est gratuite. Mais vous n’êtes pas autorisé à l’utiliser pour des services liés à un utilisateur (exemples : temps, inscription).

Ce flux utilise des autorisations appelées autorisations d’application (S2S ou Service-to-Service) dans les applications Microsoft Entra ID.

Pour configurer OAuth, vous devez créer une application dans Microsoft Entra ID. Ouvrez le portail Microsoft Entra ID et connectez-vous avec votre compte professionnel.

Une fois connecté, vous pouvez sélectionner Microsoft Entra ID dans le menu des services à gauche. Si vous ne trouvez pas ce service, sélectionnez l’élément Tous les services pour bénéficier d’une vue d’ensemble de tous les services Microsoft Entra ID dans le portail et sélectionnez-y Microsoft Entra ID.

Capture d’écran du Centre d’administration Microsoft Entra ID.

Après avoir ouvert l’élément Microsoft Entra ID, vous devrez peut-être cliquer sur Inscriptions d’applications pour créer une application.

Cliquez sur le bouton + Nouvelle inscription pour démarrer une nouvelle inscription d’application. Fournissez un nom qui décrit votre application et sélectionnez Comptes dans ce répertoire professionnel uniquement (CompanyName uniquement - Abonné unique), puis Web comme plateforme et https://businesscentral.dynamics.com/OAuthLanding.htm comme URI de redirection. Cliquez sur Inscrire pour démarrer l’inscription.

Il est important que l’URI de redirection soit exactement comme décrit ci-dessus, car cet URI respecte la casse.

Capture d’écran de la page Inscrire une application.

Sélectionnez Certificats et clés secrètes dans le menu et créez une clé secrète client. Vous êtes alors invité à saisir une description et une date d’expiration. Cette date d’expiration peut être située au maximum 24 mois dans le futur. Autrement dit, tous les 24 mois (ou plus tôt), vous devez créer une clé.

Veillez à copier la valeur de la clé secrète client, car elle n’est plus visible une fois que vous quittez cette page.

L’étape suivante consiste à indiquer les autorisations d’API. Sélectionnez Autorisations d’API dans le menu, puis cliquez sur le bouton + Ajouter une autorisation. Sélectionnez Dynamics 365 Business Central dans la liste. Deux options (que nous avons décrites ci-dessus) s’offrent alors à vous :

  • Autorisations déléguées

  • Autorisations d’application

Sélectionnez Autorisations déléguées pour créer une application qui se connecte en tant qu’utilisateur spécifique. Ensuite, vous pouvez sélectionner l’option Financials.ReadWrite.All dans la liste et cliquez sur Ajouter des autorisations.

Capture d’écran de la page Demande d’autorisations d’API.

Lorsque vous utilisez OAuth2, vous avez besoin de certaines valeurs pour configurer l’authentification. Il est désormais temps de rassembler toutes les valeurs :

  • ID client : cette valeur est disponible sur la page Vue d’ensemble de votre application. Il s’agit de la valeur GUID ID d’application (client).

  • Clé secrète client : valeur que vous avez copiée à partir de la page Certificats et clés secrètes.

  • Point de terminaison d’autorisation OAuth 2.0 : cliquez sur le bouton Points de terminaison pour ouvrir un volet dans lequel vous pouvez sélectionner cette valeur de point de terminaison.

  • Point de terminaison de jeton OAuth 2.0 : cliquez sur le bouton Points de terminaison pour ouvrir un volet dans lequel vous pouvez sélectionner cette valeur de point de terminaison.

  • Étendue : cette valeur dépend du type de flux OAuth2 que vous souhaitez prendre en charge. Pour les autorisations déléguées, il s’agit de https://api.businesscentral.dynamics.com/Financials.ReadWrite.All, tandis que pour les autorisations d’application, il s’agit de https://api.businesscentral.dynamics.com/.default.

Vous êtes maintenant prêt à configurer une authentification OAuth2 à l’aide de ces valeurs.