adal
Note: This library is already replaced by MSAL Python, available here: https://pypi.org/project/msal/ .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.
Decision gist · record as of 2026-08-14
No—do not install for new projects. ADAL is abandoned and explicitly superseded by MSAL for Python. Install only if maintaining existing code that already depends on it, and plan a migration. No known vulnerabilities exist, but the lack of maintenance means no future security updates.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires valid Azure AD tenant and credentials; the package is no longer maintained.
- Installation is straightforward with low friction, but the package is abandoned as of 2021-04-05 and the repository is archived.
- Microsoft explicitly recommends migrating to MSAL for new projects.
License · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for commercial and open-source projects.
last release 2021-04-05 (1957 days) · last repo commit 2026-03-27 · 259 stars · archived
0 known vulnerabilities (OSV.dev, 2026-08-14) · 44,549,468 downloads/mo, #630 on PyPI
Alternatives
Verify before relying
pip install adal==1.2.7
import adal
context = adal.AuthenticationContext('https://login.microsoftonline.com/tenant-id')
token = context.acquire_token_with_username_password('resource-url', 'username', 'password')- Whether existing applications relying on ADAL will continue to receive security patches or bug fixes despite abandonment.
- Compatibility with modern Python versions beyond 3.6, given classifiers only list up to Python 3.6.
What it is and what it does
ADAL for Python is a legacy authentication library that enables Python applications to authenticate with Azure Active Directory and retrieve tokens for accessing Azure AD-protected web resources. It handles OAuth2 and OpenID Connect flows, supporting scenarios like native client applications and web applications that need to call APIs such as the Graph API. The library depends on PyJWT, requests, python-dateutil, and cryptography.
The package is no longer maintained and has been superseded by MSAL for Python. While existing applications using ADAL will continue to work, Microsoft explicitly directs new projects to use MSAL instead. The repository is archived and the latest release was 2021-04-05.
Use it for
- Maintaining or updating legacy Python applications that already authenticate with Azure AD via ADAL.
- Migrating from ADAL to MSAL by using ADAL as a reference during the transition process.
- Understanding historical Azure authentication patterns in Python codebases that predate MSAL adoption.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No—do not install for new projects.
ADAL is abandoned and explicitly superseded by MSAL for Python. Install only if maintaining existing code that already depends on it, and plan a migration. No known vulnerabilities exist, but the lack of maintenance means no future security updates.
Install
adal on PyPI
Before you install
Installation is straightforward with low friction, but the package is abandoned as of 2021-04-05 and the repository is archived. Microsoft explicitly recommends migrating to MSAL for new projects.
Requires valid Azure AD tenant and credentials; the package is no longer maintained.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for commercial and open-source projects.
Quickstart
pip install adal==1.2.7
import adal
context = adal.AuthenticationContext('https://login.microsoftonline.com/tenant-id')
token = context.acquire_token_with_username_password('resource-url', 'username', 'password')
Verify before relying
- Whether existing applications relying on ADAL will continue to receive security patches or bug fixes despite abandonment.
- Compatibility with modern Python versions beyond 3.6, given classifiers only list up to Python 3.6.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesPyJWTrequestspython-dateutilcryptography |
| Maintenance | Abandoned 1,957 days since the last release |
| Last repo commit | repository archived |
| First released | |
| Downloads | 44,549,468 / month, #630 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 6 - MatureLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6 |
Evidence: adal-1.2.7-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “azure active directory authentication”
- adalADAL for Python authenticates applications with Azure Active…
- django-auth-adfsIntegrates Django applications with Microsoft ADFS and Azure AD for…
- redis-entraidProvides Entra ID (Azure Active Directory) authentication for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Security packages
Provides Python bindings to the FreeDesktop.org Secret Service API for securely storing and retrieving passwords and secrets through GNOME Keyring, KWallet, or KeePassXC.
MSAL for Python handles OAuth2 and OpenID Connect authentication with Microsoft identity services, managing token acquisition, caching, and refresh for applications integrating with Microsoft Entra ID, Microsoft Accounts, and Azure AD B2C.
joserfc implements JOSE standards (JWS, JWE, JWK, JWT, and related RFCs) for signing, encrypting, and managing JSON-based cryptographic tokens in Python.
Authlib provides a complete implementation of OAuth 1.0, OAuth 2.0, and OpenID Connect 1.0 for building both authentication clients and servers, with built-in support for JWS, JWK, JWA, and JWT standards.
Provides low-level CFFI bindings to the official Argon2 password hashing algorithm for use by libraries and applications that need direct access to Argon2 without higher-level abstractions.
Disables the CVE-2023-47248 security vulnerability in older PyArrow versions by patching unsafe deserialization behavior when imported.
See also identity · msal-extensions · pyadomd · microsoft-kiota-authentication-azure · streamlit-msal · microsoft-agents-authentication-msal · django-auth-adfs · msrestazure · pulumi-azuread