Microsoft Previews Authentication Library for Windows Azure AD
The company has added an Azure Authentication Library for .NET to the Developer Preview of its cloud-based identity management service.
Microsoft introduced another component to the Developer Preview of Windows Azure Active Directory last week, aimed at opening up the cloud-based identity management service to .NET developers.
The Azure Authentication Library (AAL) enables native client developers to authenticate users against Windows Azure Active Directory and other identity providers. It also provides the logic to secure native client and service APIs, according to Microsoft.
Windows Azure Active Directory is an extension of Windows Server Active Directory. It's used in several Microsoft cloud-based services including Office 365, Dynamics CRM Online and Windows Intune.
Microsoft released a Developer Preview of Windows Azure Active Directory in mid July as part of its plan to extend the identity management service to developers for use in third-party applications and services. Key components include Web single sign-on (SSO) capability and a REST-based Graph API that allows you to programmatically connect to the Windows Azure Active Directory and access data.
The AAL Developer Preview is described as an early preview of how Microsoft "thinks" about native client and API protection. Alex Simons, Microsoft's director of Program Management in the Active Directory Division, explained what AAL enables in native client apps in the Windows Azure team blog:
- Prompt the user to authenticate against Windows Azure AD directory tenants, AD FS 2.0 servers and all the identity providers supported by Azure AD Access Control (Windows Live ID, Facebook, Google, Yahoo!, any OpenID provider, any WS-Federation provider)
- Take advantage of username/password or the Kerberos ticket of the current workstation user for obtaining tokens programmatically
- Leverage service principal credentials for obtaining tokens for server to server service calls
He also outlined how AAL might be used with service APIs:
On the service side, the library offers you the ability to validate incoming tokens and return the identity of the caller in the form of ClaimsPrincipal, consistent with the behavior of the rest of our development platform.
The current preview contains client and service-side capabilities. Future versions of AAL will be native client only. The service-side features will become extensions to Windows Identity Foundation, according to Simons.
The AAL Developer Preview is available via a NuGet package (assemblies and references) that can be added to your project from within Visual Studio. Microsoft is also providing sample libraries and documentation.
In addition to the .NET platform, Microsoft is "working on" developing Azure Authentication Libraries for WinRT, Android and iOS, according to Simons. Support for multiple languages on the service side is also under consideration. At some point, Microsoft expects to open source AAL so that developers can extend the code.
Kathleen Richards is the editor of RedDevNews.com and executive editor of Visual Studio Magazine.