Skip to main content

Note: This library is already replaced by MSAL Python, available here: .ADAL Python remains available here as a legacy. The ADAL for Python library makes it easy for python application to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources.

Project description

This library, ADAL for Python, will no longer receive new feature improvements. Instead, use the new library MSAL for Python.

  • If you are starting a new project, you can get started with the MSAL Python docs for details about the scenarios, usage, and relevant concepts.
  • If your application is using the previous ADAL Python library, you can follow this migration guide to update to MSAL Python.
  • Existing applications relying on ADAL Python will continue to work.

Microsoft Azure Active Directory Authentication Library (ADAL) for Python

master branch dev branch Reference Docs
Build Status Build Status Documentation Status
Getting Started Docs Python Samples Support Feedback

The ADAL for Python library enables python applications to authenticate with Azure AD and get tokens to access Azure AD protected web resources.

You can learn in detail about ADAL Python functionality and usage documented in the Wiki.

Installation and Usage

You can find the steps to install and basic usage of the library under ADAL Basics page in the Wiki.

Samples and Documentation

We provide a full suite of Python sample applications on GitHub to help you get started with learning the Azure Identity system. This will include tutorials for native clients and web applications. We also provide full walkthroughs for authentication flows such as OAuth2, OpenID Connect and for calling APIs such as the Graph API.

There are also some lightweight samples existing inside this repo.

You can find the relevant samples by scenarios listed in this wiki page for acquiring tokens using ADAL Python.

The documents on Auth Scenarios and Auth protocols are recommended reading.


This library follows Semantic Versioning.

You can find the changes for each version under Releases.

Community Help and Support

We leverage Stack Overflow to work with the community on supporting Azure Active Directory and its SDKs, including this one! We highly recommend you ask your questions on Stack Overflow (we're all on there!) Also browser existing issues to see if someone has had your question before.

We recommend you use the "adal" tag so we can see it! Here is the latest Q&A on Stack Overflow for ADAL:

Submit Feedback

We'd like your thoughts on this library. Please complete this short survey.

Security Reporting

If you find a security issue with our libraries or services please report it to with as much detail as possible. Your submission may be eligible for a bounty through the Microsoft Bounty program. Please do not post security issues to GitHub Issues or any other public site. We will contact you shortly upon receiving the information. We encourage you to get notifications of when security incidents occur by visiting this page and subscribing to Security Advisory Alerts.


All code is licensed under the MIT license and we triage actively on GitHub. We enthusiastically welcome contributions and feedback. Please read the contributing guide before starting.

We Value and Adhere to the Microsoft Open Source Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adal-1.2.7.tar.gz (35.2 kB view hashes)

Uploaded source

Built Distribution

adal-1.2.7-py2.py3-none-any.whl (55.5 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page