What’s New in ADAL v2 RC
ADAL v2 RC is here, and is packed with new features! Those are the last planned changes we are doing to the library surface for v2, hence you should expect this to be the harbinger of what you’ll get at GA time.
Here there’s a list of the main changes. For some of the new features, the news are so significant that I wrote an entire post just for it – watch for the links in the descriptions.
- ADAL for .NET/Windows Store/Windows Phone is now open source!
- Completely redesigned cache extensibility model
- In .NET: Support for direct use of username and password without popping out any UX
- In .NET and Windows Store: Support for direct use of Windows Integrated Auth (where available) without popping out any UX
- Improved error management, which makes it easier to understand if the error took place on the server or the client
- (look up AdalException for more details)
- AcquireTokenByAuthorizationCode is now integrated with the cache
- Rationalization of the *Credential classes
- New UserCredential
- X509CertificateCredential->ClientAssertionCertificate
- Rationalization of the mechanism used for specifying during AcquireToken which user account you want to use
- New UserIdentifier class can be used to identify a user via its UPN/Email or its unique id – and can be used to explicitly state that you are ok with a token for any user
- UserInfo now contains the user’s unique identifier as well – which can be used at token acquisition time as well
- AuthenticationResult now returns the entire id_token if present
- The UserInfo surfaces a warning in case the user’s password is about to expire
- Rearrangement of the parameters order in various AcquireToken* overloads to accommodate the new user selection process and achieve better consistency
- Additional AcquireTokenSilent[Async] overloads to cover more cases
The list is pretty long! We are in the process of updating the samples on GitHub: hopefully that will help you to follow the changes. As mentioned above, we are not planning any additional changes before GA – hence you can expect the current surface to be the one that will end up in the documentation.
If you have issues migrating beta code to RC, feel free to drop me a line.
Thanks and enjoy!