你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
用于 Python 的 Azure 标识代理插件
此包通过提供用于通过身份验证代理进行身份验证的补充凭据来扩展 Azure 标识 库。
身份验证代理是在用户计算机上运行的应用程序,用于管理已连接帐户的身份验证握手和令牌维护。 目前,仅支持 Windows 身份验证 代理 Web 帐户管理器 (WAM) 。
源代码 | 包 (PyPI) | API 参考文档 | Microsoft Entra ID 文档
入门
安装包
使用 pip 安装适用于 Python 的 Azure 标识代理插件:
pip install azure-identity-broker
关键概念
此包启用中转站支持,通过 InteractiveBrowserBrokerCredential
中转站是 Azure 标识库的 子类 InteractiveBrowserCredential
。
父窗口句柄
通过 InteractiveBrowserBrokerCredential
以交互方式进行身份验证时,需要一个父窗口句柄,以确保身份验证对话框在请求窗口上正确显示。 在设备上的图形用户界面上下文中,窗口句柄是操作系统分配给每个窗口的唯一标识符。 对于 Windows 操作系统,此句柄是一个整数值,用作对特定窗口的引用。
Microsoft 帐户 (MSA) 直通
microsoft 帐户 (MSA) 是用户为访问 Microsoft 服务而创建的个人帐户。 MSA 直通是一种旧配置,使用户能够获取通常不接受 MSA 登录的资源的令牌。 此功能仅适用于第一方应用程序。 使用配置为使用 MSA 传递的应用程序进行身份验证的用户可以将 设置为 enable_msa_passthrough
True
内部 InteractiveBrowserBrokerCredential
,以允许 WAM 列出这些个人帐户。
重定向 URI
Microsoft Entra应用程序依赖于重定向 URI 来确定在用户登录后将身份验证响应发送到何处。 若要通过 WAM 启用中转身份验证,应将匹配以下模式的重定向 URI 注册到应用程序:
ms-appx-web://Microsoft.AAD.BrokerPlugin/{client_id}
示例
使用 InteractiveBrowserBrokerCredential
进行身份验证
此示例演示如何使用 InteractiveBrowserBrokerCredential
作为启用了中转站的凭据,以使用 BlobServiceClient
azure-storage-blob 库中的 进行身份验证。 此处, win32gui
包用于获取当前窗口。
import win32gui
from azure.identity.broker import InteractiveBrowserBrokerCredential
from azure.storage.blob import BlobServiceClient
# Get the handle of the current window
current_window_handle = win32gui.GetForegroundWindow()
credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle)
client = BlobServiceClient(account_url, credential=default_credential)
故障排除
有关如何诊断各种故障方案的详细信息,请参阅 Azure 标识 故障排除指南 。
后续步骤
客户端库支持
Azure SDK 发布页上列出的支持Microsoft Entra身份验证的客户端和管理库接受来自此库的凭据。 有关使用这些库的详细信息,请参阅从发布页链接的文档。
已知问题
此库不支持 Azure AD B2C。
有关其他未解决的问题,请参阅库的 GitHub 存储库。
提供反馈
如果遇到 bug 或有建议, 请提出问题。
贡献
本项目欢迎贡献和建议。 大多数贡献要求你同意贡献者许可协议 (CLA),并声明你有权(并且确实有权)授予我们使用你的贡献的权利。 有关详细信息,请访问 https://cla.microsoft.com 。
提交拉取请求时,CLA 机器人将自动确定你是否需要提供 CLA,并相应地修饰 PR(例如标签、注释)。 直接按机器人提供的说明操作。 只需使用 CLA 对所有存储库执行一次这样的操作。
此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈