If you are into definitions, here’s one for you: The Windows Azure Authentication Library (ADAL) is a library meant to help developers to take advantage of Active Directory for enabling client apps to access protected resources. apps that deal with a single user for their entire lifetime, vs apps which maintain multiple users at once).

For expert users, ADAL offers methods for using refresh tokens directly. This scenario is the most classic OAuth2 flow. Microsoft Azure Active Directory Authentication Library (ADAL) is a tool in the.NET framework that lets client applications developers authenticate users to an on-premises Active Directory deployment or to the cloud. In other words, when your application needs to request tokens with permissions for a resource such as MS Graph, the difference in values passed to the library methods is as follows: v1.0: resource = https://graph.microsoft.com, v2.0: scope = https://graph.microsoft.com/User.Read, You can request scopes for any resource API using the URI of the API in this format: appidURI/scope For example: https://mytenant.onmicrosoft.com/myapi/api.read. For details, see the authority config option in Initialize using MSAL.js. Vittorio Bertocci is a developer, speaker, published author, avid reader, troublemaker, foodie, Italian expat, and other things that would not be wise to mention here. The dialog is really just a browser surface, and the authority decides what to send in term of experience: here we got username & password, but specific users might get multiple auth factors, consent prompts and similar. Identity is hard. This article describes how to choose between the Microsoft Authentication Library for JavaScript (MSAL.js) and Azure AD Authentication Library for JavaScript (ADAL.js) and compares the two libraries. You can easily implement your own cache and plug it in: you might want to do so when you want a persistent store, enforce your own boundaries between cache stores associated to different AuthenticatonContext instances, and so on. ADAL is aware of this possibility, and will actively take advantage of it when available. The method to acquire and renew tokens silently without prompting users is named acquireToken in ADAL.js. To restrict the sign in to only Azure AD accounts (same behavior as with ADAL.js), you need to use https://login.microsoftonline.com/organizations. Scope instead of resource parameter in authentication requests to acquire tokens. The rest is all about qualifying a bit better the terms I used: Active Directory – I am using the term in its broadest sense.

In most cases you want to use the Microsoft identity platform and MSAL.js, which is the latest generation of Microsoft authentication libraries. If you have a resource (Web API or otherwise) that is secured via Active Directory, and you have a client application that needs to consume it, ADAL will help you to obtain the security token(s) the client needs to access the resource.
That cache is fully queryable via LINQ, and contains far more than just tokens: when available, the cache will also contain user info such as identifiers, first and last name, and so on. Where did all the complexity go?”. Now that you know what ADAL is for, let’s focus on how it operates. Now, using MSAL.js, you can authenticate a broader set of Microsoft identities (Azure AD identities and Microsoft accounts, and social and local accounts through Azure AD B2C) through Microsoft identity platform (v2.0). This topology is not available for ADFS. This is the scenario in which the client application itself has its own credentials, which are exchanged for an issued token for the specified resource. That’s pretty much it, actually. Go on, all will be revealed! It is one of the most obvious examples of the on-premises/cloud symmetry in Microsoft’s offering, given that the same code can be pointed to a Windows Azure AD or to an ADFS with practically no changes. Save my name, email, and website in this browser for the next time I comment.