- All credential pipelines include
ProxyPolicy(#8945) - Async credentials are async context managers and have an async
closemethod (#9090)
- Constructing
DefaultAzureCredentialno longer raisesImportErroron Python 3.8 on Windows (8294) InteractiveBrowserCredentialraises when unable to open a web browser (8465)InteractiveBrowserCredentialprompts for account selection (8470)- The credentials composing
DefaultAzureCredentialare configurable by keyword arguments (8514) SharedTokenCacheCredentialaccepts an optionaltenant_idkeyword argument (8689)
ClientCertificateCredentialuses application and tenant IDs correctly (8315)InteractiveBrowserCredentialproperly caches tokens (8352)- Adopted msal 1.0.0 and msal-extensions 0.1.3 (8359)
- Async credentials now default to
aiohttpfor transport but the library does not require it as a dependency because the async API is optional. To use async credentials, please installaiohttpor see azure-core documentation for information about customizing the transport. - Renamed
ClientSecretCredentialparameter "secret" to "client_secret" - All credentials with
tenant_idandclient_idpositional parameters now accept them in that order - Changes to
InteractiveBrowserCredentialparameters- positional parameter
client_idis now an optional keyword argument. If no value is provided, the Azure CLI's client ID will be used. - Optional keyword argument
tenantrenamedtenant_id
- positional parameter
- Changes to
DeviceCodeCredential- optional positional parameter
prompt_callbackis now a keyword argument prompt_callback's third argument is now adatetimerepresenting the expiration time of the device code- optional keyword argument
tenantrenamedtenant_id
- optional positional parameter
- Changes to
ManagedIdentityCredential- now accepts no positional arguments, and only one keyword argument:
client_id - transport configuration is now done through keyword arguments as
described in
azure-coredocumentation
- now accepts no positional arguments, and only one keyword argument:
- Authenticating with a single sign-on shared with other Microsoft applications only requires a username when multiple users have signed in (#8095)
DefaultAzureCredentialaccepts anauthoritykeyword argument, enabling its use in national clouds (#8154)
- Adopted
msal_extensions0.1.2 - Constrained
msalrequirement to >=0.4.1, <1.0.0
AuthorizationCodeCredentialauthenticates with a previously obtained authorization code. See Azure Active Directory's authorization code documentation for more information about this authentication flow.- Multi-cloud support: client credentials accept the authority of an Azure Active
Directory authentication endpoint as an
authoritykeyword argument. Known authorities are defined inazure.identity.KnownAuthorities. The default authority is for Azure Public Cloud,login.microsoftonline.com(KnownAuthorities.AZURE_PUBLIC_CLOUD). An application running in Azure Government would useKnownAuthorities.AZURE_GOVERNMENTinstead:
from azure.identity import DefaultAzureCredential, KnownAuthorities credential = DefaultAzureCredential(authority=KnownAuthorities.AZURE_GOVERNMENT)
- Removed
client_secretparameter fromInteractiveBrowserCredential
UsernamePasswordCredentialcorrectly handles environment configuration with no tenant information (#7260)- user realm discovery requests are sent through credential pipelines (#7260)
SharedTokenCacheCredentialauthenticates with tokens stored in a local cache shared by Microsoft applications. This enables Azure SDK clients to authenticate silently after you've signed in to Visual Studio 2019, for example.DefaultAzureCredentialincludesSharedTokenCacheCredentialwhen the shared cache is available, and environment variableAZURE_USERNAMEis set. See the README for more information.
- New dependency:
msal-extensions0.1.1
- Removed
azure.core.Configurationfrom the public API in preparation for a revamped configuration API. Staticcreate_configmethods have been renamed_create_config, and will be removed in a future release.
- Adopted azure-core 1.0.0b2
- If you later want to revert to a version requiring azure-core 1.0.0b1,
of this or another Azure SDK library, you must explicitly install azure-core
1.0.0b1 as well. For example:
pip install azure-core==1.0.0b1 azure-identity==1.0.0b1
- If you later want to revert to a version requiring azure-core 1.0.0b1,
of this or another Azure SDK library, you must explicitly install azure-core
1.0.0b1 as well. For example:
- Adopted MSAL 0.4.1
- New dependency for Python 2.7: mock
- Added credentials for authenticating users:
DeviceCodeCredential,InteractiveBrowserCredential,UsernamePasswordCredential- async versions of these credentials will be added in a future release
Version 1.0.0b1 is the first preview of our efforts to create a user-friendly and Pythonic authentication API for Azure SDK client libraries. For more information about preview releases of other Azure SDK libraries, please visit https://aka.ms/azure-sdk-preview1-python.
This release supports service principal and managed identity authentication. See the documentation for more details. User authentication will be added in an upcoming preview release.
This release supports only global Azure Active Directory tenants, i.e. those using the https://login.microsoftonline.com authentication endpoint.