教程:在 Microsoft 标识平台上注册 Python Web 应用
本教程系列演示了如何构建一个 Python Web 应用以供用户登录和调用受保护的 Web API。 使用适用于 Python 的 Microsoft 身份验证库对 Microsoft Entra ID 租户中的用户进行身份验证。 最后,你将运行该应用以登录、调用受保护的 API 和注销用户。
在本教程中,你将了解:
- 在 Microsoft Entra 管理中心注册一个 Web API,并记录其标识符
- 定义平台和 URL
- 为 Web 应用创建一个客户端密码
- 向 Web 应用授予访问 Microsoft Graph API 的权限
先决条件
- 具有活动订阅的 Azure 帐户。 如果你没有帐户,请免费创建一个。
- 所使用的 Azure 帐户必须拥有管理应用程序的权限。 以下任何 Microsoft Entra 角色都包括所需的权限:
- 应用程序管理员
- 应用程序开发人员
- 云应用程序管理员
注册 Python Web 应用并记录标识符
若要将标识和访问管理功能集成到应用程序中,首先要在 Microsoft 标识平台上注册应用。 按照以下步骤在 Microsoft Entra 管理中心内注册应用程序:
- 登录 Microsoft Entra 管理中心。
- 如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你希望在其中注册应用程序的租户。
- 浏览至“标识”>“应用程序”>“应用注册”,选择“新建注册”。
- 输入应用程序的“名称”(例如 python-flask-webapp)。 应用程序的用户在使用应用时(例如,在登录过程中)可能会看到显示名称。 可随时更改显示名称。
- 在“支持的帐户类型”下,选择“仅此组织目录中的帐户” 。
- 选择“注册”,完成初始应用注册。
注册完成后,Microsoft Entra 管理中心会显示应用注册的“概述”窗格。 在“概述”窗格中,记录在后面的步骤中使用的目录(租户)ID 和应用程序(客户端)ID。
添加重定向 URI
若要为 Python Flask Web 应用添加重定向 URI,请执行以下步骤:
- 在 Microsoft Entra 管理中心门户中,在“应用注册”中选择你的应用。
- 在“管理”下,选择“身份验证”。
- 在“平台配置”下,选择“添加一个平台”,然后选择“Web”。
- 在选择 Web 作为应用的平台时,系统会提示你输入重定向 URI。 添加
http://localhost:5000/getAToken
作为 Web 应用的重定向 URI。 - 选择“配置” 。
配置凭据
在本教程中,你将使用客户端密码(也称为应用程序密码)将应用标识为机密客户端。 按照以下步骤将客户端密码添加到应用注册:
- 在 Microsoft Entra 管理中心门户中,在“应用注册”中选择你的应用。
- 在“管理”下,选择“证书和机密”。
- 在“客户端密码”部分中,选择“新建客户端密码” 。
- 在“添加客户端密码”窗格中,提供客户端密码的说明。
- 选择机密的过期时间,或指定自定义的生存期。
- 客户端机密生存期限制为两年(24 个月)或更短。 不能指定超过 24 个月的自定义生存期。 Microsoft 建议将过期时间值设置为小于 12 个月。
- 选择 添加 。
- 记录客户端密码值(而不是其 ID),以供在后续步骤中使用。 此机密值仅在创建时显示一次,离开此页面后从未显示过。
尽管在本教程中使用了客户端密码,但我们建议你在将应用程序移动到生产环境之前使用证书。 若要详细了解如何使用证书,请参阅这些说明。
添加范围
由于此应用要让用户登录,因此需要添加委托的权限:
- 在“管理”下,选择“API 权限”>“添加权限” 。
- 确保已选择“Microsoft API”选项卡。
- 在“常用 Microsoft API”部分,选择“Microsoft Graph”。
- 在“委托的权限”部分中,确保选择“User.ReadBasic.All”。 如有必要,请使用搜索框。
- 选择“添加权限”。