{"id":471,"date":"2018-09-02T14:44:07","date_gmt":"2018-09-02T12:44:07","guid":{"rendered":"http:\/\/remivernier.com\/?p=471"},"modified":"2018-09-19T11:14:01","modified_gmt":"2018-09-19T09:14:01","slug":"azure-ad-adal-msal","status":"publish","type":"post","link":"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/","title":{"rendered":"Azure AD: ADAL, MSAL?"},"content":{"rendered":"<h1>Quid est ? \/\u00a0<i>Qu\u2019es aqu\u00f2\u00a0?<\/i><\/h1>\n<p>Ces 2 acronymes sont en r\u00e9alit\u00e9 les biblioth\u00e8ques\u00a0d\u2019authentification Azure Active Directory.<br \/>\n<strong>ADAL<\/strong> pour <strong>Azure Active Directory Authentication Library<\/strong> et <strong>MSAL<\/strong> pour <strong>Microsoft Authentication Library<\/strong>\u00a0permettent aux d\u00e9veloppeurs d\u2019applications d\u2019authentifier les utilisateurs dans une instance locale d\u2019Active Directory (AD), puis d\u2019obtenir des jetons pour s\u00e9curiser les appels d\u2019API. Ces 2 protocoles prennent en\u00a0en charge les protocoles OAuth 2.0 et OpenID Connect 1.0 standard.<\/p>\n<p>Les jetons re\u00e7us de chaque point de terminaison ne sont pas interchangeables. Toutefois, avant de commencer le d\u00e9veloppement d\u2019une application, il est int\u00e9ressant de choisir la librairie d&rsquo;authentification la plus appropri\u00e9. Nous allons voir dans l&rsquo;article, quelles sont les points communs, les diff\u00e9rences, pourquoi et comment les utiliser&#8230;<\/p>\n<p>Pour commencer rien ne vaut un petit sch\u00e9ma:<\/p>\n<p><a href=\"http:\/\/remivernier.com\/index.php\/2018\/09\/03\/azure-ad-adal-msal\/azure-ad-adal-msal-sch1\/\" rel=\"attachment wp-att-475\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-475\" src=\"http:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-sch1.jpg\" alt=\"\" width=\"872\" height=\"409\" srcset=\"https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-sch1.jpg 872w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-sch1-300x141.jpg 300w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-sch1-768x360.jpg 768w\" sizes=\"auto, (max-width: 872px) 100vw, 872px\" \/><\/a><\/p>\n<p>Historiquement, il n&rsquo;existait qu&rsquo;une seule version de biblioth\u00e8que d&rsquo;authentification pour Azure AD: ADAL. D\u00e9j\u00e0 pr\u00e9sente dans l&rsquo;ancien portail et associ\u00e9 \u00e0 la puissance d&rsquo;Azure AD, elle permet notamment d\u2019offrir:<\/p>\n<ul>\n<li>Du SSO avec AD (FS), Office 365, etc&#8230;en offrant un contr\u00f4le am\u00e9lior\u00e9 avec acc\u00e8s conditionnel, du MFA et de la protection de l&rsquo;identit\u00e9,<\/li>\n<li>Acc\u00e9der \u00e0 Microsoft Graph ou d&rsquo;autres API Microsoft,<\/li>\n<li>D&rsquo;acc\u00e9der \u00e0 des applications pr\u00e9sentes dans le store ou d\u00e9velopp\u00e9es par les entreprises,<\/li>\n<li>etc&#8230;<\/li>\n<\/ul>\n<p>Depuis le d\u00e9but de l&rsquo;ann\u00e9e 2017, il existe \u00e0 pr\u00e9sent 2 librairies. Chacune d&rsquo;elle a ses propres sp\u00e9cificit\u00e9s et les m\u00e9thodes d&rsquo;appel sont l\u00e9g\u00e8rement diff\u00e9rentes: ADAL va utiliser des points de terminaison (endpoint) en V1 et MSAL en V2. A savoir: Le point de terminaison d\u2019origine d\u2019Azure AD V1 est toujours int\u00e9gralement pris en charge et support\u00e9 par Microsoft. \u00c0 certains \u00e9gards, il est plus riche en fonctionnalit\u00e9s que le point de terminaison v2.0. Toutefois, le point de terminaison v2.0 pr\u00e9sente des avantages significatifs.<\/p>\n<p>Globalement, si l&rsquo;application doit prendre en charge <strong>l&rsquo;authentification des comptes personnels Microsoft<\/strong> (MSA: Outlook.com, hotmail.com, etc&#8230;), il faudra plut\u00f4t utiliser les points de terminaison v2.0 et donc la libraire MSAL. Si l&rsquo;application ne doit prendre en charge l&rsquo;authentification que des comptes professionnels et scolaires (propre annuaire Azure AD ou autre annuaire Azure AD), il faudra dans ce cas utiliser les points de terminaison en V1 (ADAL). Pour l&rsquo;instant Microsoft ne permet pas de passer de la V1 \u00e0 la V2 sans re-d\u00e9veloppement. Il n&rsquo;est pas indispensable de migrer surtout que quelques limitations existent encore sur la V2.<\/p>\n<h1>ADAL &#8211;\u00a0Azure Active Directory Authentication Library<\/h1>\n<p><strong>Portail de gestion et d&rsquo;ajout d&rsquo;une application<\/strong>: <a href=\"https:\/\/portal.azure.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/portal.azure.com\/<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-495\" src=\"http:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img4-1024x228.jpg\" alt=\"\" width=\"678\" height=\"151\" srcset=\"https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img4-1024x228.jpg 1024w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img4-300x67.jpg 300w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img4-768x171.jpg 768w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img4.jpg 1412w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/p>\n<p><strong>Portail de gestion autorisations et consentements (pour l&rsquo;utilisateur)<\/strong>:<br \/>\n<a href=\"https:\/\/myapps.microsoft.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/myapps.microsoft.com\/<\/a><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-497\" src=\"http:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img6-300x230.jpg\" alt=\"\" width=\"300\" height=\"230\" srcset=\"https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img6-300x230.jpg 300w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img6-768x588.jpg 768w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img6.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Consentement (statique) \u00e0 la 1\u00e8re connexion \u00e0 l&rsquo;application:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-494\" src=\"http:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img3-289x300.jpg\" alt=\"\" width=\"289\" height=\"300\" srcset=\"https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img3-289x300.jpg 289w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img3.jpg 628w\" sizes=\"auto, (max-width: 289px) 100vw, 289px\" \/><\/p>\n<p>Dans visual studio, pour utiliser ADAL.NET, vous devez ajouter le NuGet Microsoft.IdentityModel.Clients.ActiveDirectory et utiliser l&rsquo;espace de noms <strong>Microsoft.IdentityModel.Clients.ActiveDirectory<\/strong><\/p>\n<h1><\/h1>\n<p>&nbsp;<\/p>\n<h1>MSAL\u00a0&#8211;\u00a0Microsoft Authentication Library<\/h1>\n<p>Pour rappel:\u00a0Prise en charge de la connexion avec Azure AD (Work et school) <strong>et<\/strong> les comptes Microsoft MSA (Outlook, Hotmail, etc.).<\/p>\n<p><strong>Portail de gestion et d&rsquo;ajout d&rsquo;une application<\/strong>: <a href=\"https:\/\/apps.dev.microsoft.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/apps.dev.microsoft.com\/<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-492\" src=\"http:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img1-300x242.jpg\" alt=\"\" width=\"300\" height=\"242\" srcset=\"https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img1-300x242.jpg 300w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img1.jpg 644w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Contrairement \u00e0 ADAL, l&rsquo;application peut utiliser <strong>un seul ID d\u2019application<\/strong> pour plusieurs plateformes: Si vous avez d\u00e9j\u00e0 utilis\u00e9 Azure AD, vous avez probablement inscrit plusieurs applications diff\u00e9rentes pour un seul et m\u00eame projet. Par exemple, si vous avez cr\u00e9\u00e9 un site web et une application iOS, vous avez d\u00fb les inscrire s\u00e9par\u00e9ment, en utilisant deux ID d\u2019application diff\u00e9rents. Chaque composant apparaissait comme une application distincte dans Azure AD. Lorsque les utilisateurs donnaient leur consentement pour une application, chaque composant apparaissait dans l\u2019\u00e9cran de consentement comme une application distincte. Avec le point de terminaison v2.0, vous pouvez maintenant inscrire tous les composants de votre projet comme une seule et m\u00eame application, et utiliser un ID d\u2019application unique pour l\u2019ensemble du projet.<\/p>\n<p><strong>Portail de gestion autorisations et consentements (pour l&rsquo;utilisateur)<\/strong>\u00a0: <a href=\"https:\/\/www.microsoft.com\/consent\" target=\"_blank\" rel=\"noopener\">https:\/\/www.microsoft.com\/consent<\/a><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-496\" src=\"http:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img5-300x173.jpg\" alt=\"\" width=\"300\" height=\"173\" srcset=\"https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img5-300x173.jpg 300w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img5-768x442.jpg 768w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img5.jpg 798w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Consentement dynamique\u00a0 et incr\u00e9mentiel<\/strong>: Il s&rsquo;agit l\u00e0 d&rsquo;une nouveaut\u00e9 int\u00e9ressante! Avec cette fonctionnalit\u00e9, l&rsquo;application peut demander des autorisations suppl\u00e9mentaires lors de l\u2019ex\u00e9cution, en jumelant la demande de consentement de l\u2019utilisateur avec la fonctionnalit\u00e9 qui la requiert. L\u2019exp\u00e9rience est beaucoup plus confortable pour les utilisateurs. Ainsi, ils n\u2019ont pas besoin d\u2019accorder une longue liste d\u2019autorisations lors de leur premi\u00e8re connexion.<\/p>\n<p>Exemple d&rsquo;un consentement initial puis un nouveau pour la m\u00eame application:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-493\" src=\"http:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img2-300x278.jpg\" alt=\"\" width=\"300\" height=\"278\" srcset=\"https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img2-300x278.jpg 300w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img2.jpg 738w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>\u00a0 \u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-511\" src=\"http:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img7-287x300.jpg\" alt=\"\" width=\"264\" height=\"276\" srcset=\"https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img7-287x300.jpg 287w, https:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-img7.jpg 646w\" sizes=\"auto, (max-width: 264px) 100vw, 264px\" \/><\/p>\n<p><b>Restrictions \u00e0 fin ao\u00fbt\u00a02018 (<\/b><a style=\"font-weight: bold;\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/active-directory\/develop\/active-directory-v2-limitations\" target=\"_blank\" rel=\"noopener\">la liste compl\u00e8te est pr\u00e9sente ici<\/a><b>):<\/b><\/p>\n<ul>\n<li>API Web autonome :\u00a0Il est possible d&rsquo;utiliser le point de terminaison v2.0 pour g\u00e9n\u00e9rer une API web s\u00e9curis\u00e9e avec OAuth 2.0. Toutefois, cette API web peut recevoir uniquement les jetons d\u2019une application ayant le m\u00eame ID d\u2019application. Il est impossible d&rsquo;acc\u00e9der \u00e0 une API web \u00e0 partir d\u2019un client qui a un ID d\u2019application diff\u00e9rent. Ce client ne pourra pas demander ou obtenir d\u2019autorisation d\u2019acc\u00e8s \u00e0 l&rsquo;API web.<\/li>\n<li>Restrictions sur les inscriptions d\u2019applications: Les applications qui sont inscrites dans\u00a0portal.azure.com ne s&rsquo;affichent pas dans le nouveau portail apps.dev.microsoft.com et inversement.<\/li>\n<li>URI de redirections: Limit\u00e9s \u00e0 20, elles doivent partager un seul domaine DNS.<\/li>\n<li>Protocoles: SAML et WS-Fed ne sont pas support\u00e9s (pas de SSO avec ADFS donc). Seuls Open ID Connect et OAuth 2.0 fonctionnent. Certaines fonctionnalit\u00e9s des protocoles OAuth n\u2019ont pas \u00e9t\u00e9 int\u00e9gr\u00e9es dans le point de terminaison v2.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Dans visual studio, pour utiliser MSAL.NET, vous devez ajouter le NuGet Microsoft.Identity.Client et utiliser l&rsquo;espace de noms <strong>Microsoft.Identity.Client<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>-&gt; Pour aller plus loin avec MSAL et configurer une application exemple, <a href=\"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/integrer-une-application-a-azure-ad-msal-et-authentification-avec-openid-connect\/\">vous pouvez lire l&rsquo;article en suivant le lien<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quid est ? \/\u00a0Qu\u2019es aqu\u00f2\u00a0? Ces 2 acronymes sont en r\u00e9alit\u00e9 les biblioth\u00e8ques\u00a0d\u2019authentification Azure Active Directory. ADAL pour Azure Active Directory Authentication Library et MSAL pour Microsoft Authentication Library\u00a0permettent aux d\u00e9veloppeurs d\u2019applications d\u2019authentifier les utilisateurs dans une instance locale d\u2019Active Directory (AD), puis d\u2019obtenir des jetons pour s\u00e9curiser les appels d\u2019API. Ces 2 protocoles prennent<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,20,43],"tags":[40,30,27,41],"class_list":["post-471","post","type-post","status-publish","format-standard","hentry","category-azure","category-azure-ad","category-http","tag-adal","tag-authentification","tag-azure","tag-msal"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.8.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Azure AD: ADAL, MSAL? - R\u00e9mi VERNIER<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Azure AD: ADAL, MSAL? - R\u00e9mi VERNIER\" \/>\n<meta property=\"og:description\" content=\"Quid est ? \/\u00a0Qu\u2019es aqu\u00f2\u00a0? Ces 2 acronymes sont en r\u00e9alit\u00e9 les biblioth\u00e8ques\u00a0d\u2019authentification Azure Active Directory. ADAL pour Azure Active Directory Authentication Library et MSAL pour Microsoft Authentication Library\u00a0permettent aux d\u00e9veloppeurs d\u2019applications d\u2019authentifier les utilisateurs dans une instance locale d\u2019Active Directory (AD), puis d\u2019obtenir des jetons pour s\u00e9curiser les appels d\u2019API. Ces 2 protocoles prennent\" \/>\n<meta property=\"og:url\" content=\"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/\" \/>\n<meta property=\"og:site_name\" content=\"R\u00e9mi VERNIER\" \/>\n<meta property=\"article:published_time\" content=\"2018-09-02T12:44:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-09-19T09:14:01+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-sch1.jpg\" \/>\n<meta name=\"author\" content=\"R\u00e9mi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"R\u00e9mi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/\",\"url\":\"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/\",\"name\":\"Azure AD: ADAL, MSAL? - R\u00e9mi VERNIER\",\"isPartOf\":{\"@id\":\"https:\/\/remivernier.com\/#website\"},\"datePublished\":\"2018-09-02T12:44:07+00:00\",\"dateModified\":\"2018-09-19T09:14:01+00:00\",\"author\":{\"@id\":\"https:\/\/remivernier.com\/#\/schema\/person\/a4c76c63a5a3d94454484845e42fc906\"},\"breadcrumb\":{\"@id\":\"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/remivernier.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Azure AD: ADAL, MSAL?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/remivernier.com\/#website\",\"url\":\"https:\/\/remivernier.com\/\",\"name\":\"R\u00e9mi VERNIER\",\"description\":\"Active Directory Services, Azure &amp; co...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/remivernier.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/remivernier.com\/#\/schema\/person\/a4c76c63a5a3d94454484845e42fc906\",\"name\":\"R\u00e9mi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/remivernier.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f750448bc07f5d1d9c1189344283777ec0d33275c184599b199fb6b305bc6fba?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f750448bc07f5d1d9c1189344283777ec0d33275c184599b199fb6b305bc6fba?s=96&d=mm&r=g\",\"caption\":\"R\u00e9mi\"},\"sameAs\":[\"http:\/\/www.linkedin.com\/in\/remi-vernier\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Azure AD: ADAL, MSAL? - R\u00e9mi VERNIER","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/","og_locale":"fr_FR","og_type":"article","og_title":"Azure AD: ADAL, MSAL? - R\u00e9mi VERNIER","og_description":"Quid est ? \/\u00a0Qu\u2019es aqu\u00f2\u00a0? Ces 2 acronymes sont en r\u00e9alit\u00e9 les biblioth\u00e8ques\u00a0d\u2019authentification Azure Active Directory. ADAL pour Azure Active Directory Authentication Library et MSAL pour Microsoft Authentication Library\u00a0permettent aux d\u00e9veloppeurs d\u2019applications d\u2019authentifier les utilisateurs dans une instance locale d\u2019Active Directory (AD), puis d\u2019obtenir des jetons pour s\u00e9curiser les appels d\u2019API. Ces 2 protocoles prennent","og_url":"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/","og_site_name":"R\u00e9mi VERNIER","article_published_time":"2018-09-02T12:44:07+00:00","article_modified_time":"2018-09-19T09:14:01+00:00","og_image":[{"url":"http:\/\/remivernier.com\/wp-content\/uploads\/2018\/09\/azure-ad-adal-msal-sch1.jpg"}],"author":"R\u00e9mi","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"R\u00e9mi","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/","url":"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/","name":"Azure AD: ADAL, MSAL? - R\u00e9mi VERNIER","isPartOf":{"@id":"https:\/\/remivernier.com\/#website"},"datePublished":"2018-09-02T12:44:07+00:00","dateModified":"2018-09-19T09:14:01+00:00","author":{"@id":"https:\/\/remivernier.com\/#\/schema\/person\/a4c76c63a5a3d94454484845e42fc906"},"breadcrumb":{"@id":"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/remivernier.com\/index.php\/2018\/09\/02\/azure-ad-adal-msal\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/remivernier.com\/"},{"@type":"ListItem","position":2,"name":"Azure AD: ADAL, MSAL?"}]},{"@type":"WebSite","@id":"https:\/\/remivernier.com\/#website","url":"https:\/\/remivernier.com\/","name":"R\u00e9mi VERNIER","description":"Active Directory Services, Azure &amp; co...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/remivernier.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/remivernier.com\/#\/schema\/person\/a4c76c63a5a3d94454484845e42fc906","name":"R\u00e9mi","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/remivernier.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f750448bc07f5d1d9c1189344283777ec0d33275c184599b199fb6b305bc6fba?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f750448bc07f5d1d9c1189344283777ec0d33275c184599b199fb6b305bc6fba?s=96&d=mm&r=g","caption":"R\u00e9mi"},"sameAs":["http:\/\/www.linkedin.com\/in\/remi-vernier"]}]}},"_links":{"self":[{"href":"https:\/\/remivernier.com\/index.php\/wp-json\/wp\/v2\/posts\/471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/remivernier.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/remivernier.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/remivernier.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/remivernier.com\/index.php\/wp-json\/wp\/v2\/comments?post=471"}],"version-history":[{"count":35,"href":"https:\/\/remivernier.com\/index.php\/wp-json\/wp\/v2\/posts\/471\/revisions"}],"predecessor-version":[{"id":539,"href":"https:\/\/remivernier.com\/index.php\/wp-json\/wp\/v2\/posts\/471\/revisions\/539"}],"wp:attachment":[{"href":"https:\/\/remivernier.com\/index.php\/wp-json\/wp\/v2\/media?parent=471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/remivernier.com\/index.php\/wp-json\/wp\/v2\/categories?post=471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/remivernier.com\/index.php\/wp-json\/wp\/v2\/tags?post=471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}