I saw on my GitHub Feed yesterday that the Azure SDK Releases have the
azure-identity beta library 1.13.0b1 in pre-release now .
The Azure Identity beta library 1.13.0b1 should be able to call Web Account Manager (WAM), a component that ships with Windows 10+ and Windows Server 2019+ and acts as an authentication broker allowing users to benefit from integration with accounts known to Windows .
The beta library can be tested and installed through pip:
pip install azure-identity==1.13.0b1
The class in question is
InteractiveBrowserCredential, which does now accept an
allow_broker keyword as per the class's documentation below (full details here) :
class InteractiveBrowserCredential(InteractiveCredential): """Opens a browser to interactively authenticate a user. ...snip... :keyword bool allow_broker: Brokers provide single sign-on, device identification, and application identification verification. If this parameter is set to True, the broker will be used when possible. Defaults to False. Check https://learn.microsoft.com/azure/active-directory/develop/scenario-desktop-acquire-token-wam for more WAM information. ...snip... """
allow_broker=True on Windows 10+ or Windows Server 2019+ ...
from azure.identity import InteractiveBrowserCredential credential = InteractiveBrowserCredential(allow_broker=True)
...the authentication process should try to leverage WAM.
On older Windows versions or Mac/Linux, it should revert to using the browser.
I'm not sure if this functionality will be widely used with the Python SDK, however, according to this GitHub issue, it seems to be part of the Azure SDK design guideline as "the support for WAM must exist in all Tier-1 languages (C#, Java, JS, Python) for Azure Identity SDK" .
|1||Desktop app that calls web APIs: Acquire a token using WAM||https://learn.microsoft.com/en-us/azure/active-directory/develop/scenario-desktop-acquire-token-wam||2023-01-11|
|2||Azure SDK Releases||https://azure.github.io/azure-sdk/releases/latest/all/python.html||2023-01-11|
|6||Add WAM Support to MSAL for Python, for cross-language consistency #451||https://github.com/AzureAD/microsoft-authentication-library-for-python/issues/451||2023-01-11|