教程:在 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 管理中心中注册应用程序:

  1. 登录到 Microsoft Entra 管理中心
  2. 如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你希望在其中注册应用程序的租户。
  3. 浏览至“标识”>“应用程序”>“应用注册”,选择“新建注册”。
  4. 输入应用程序的“名称”(例如 python-flask-webapp)。 应用程序的用户在使用应用时(例如,在登录过程中)可能会看到显示名称。 可随时更改显示名称。
  5. 在“支持的帐户类型”下,选择“仅此组织目录中的帐户” 。
  6. 选择“注册”,完成初始应用注册。

注册完成后,Microsoft Entra 管理中心会显示应用注册的“概述”窗格。 在“概述”窗格中,记录在后面的步骤中使用的目录(租户)ID 和应用程序(客户端)ID。

添加重定向 URI

若要为 Python Flask Web 应用添加重定向 URI,请执行以下步骤:

  1. 在 Microsoft Entra 管理中心中,在“应用注册”中选择你的应用程序。
  2. 在“管理”下,选择“身份验证”。
  3. 在“平台配置”下,选择“添加一个平台”,然后选择“Web”
  4. 在选择 Web 作为应用的平台时,系统会提示你输入重定向 URI。 添加 http://localhost:5000/getAToken 作为 Web 应用的重定向 URI。
  5. 选择“配置” 。

配置凭据

在本教程中,你将使用客户端密码(也称为应用程序密码)将应用标识为机密客户端。 按照以下步骤将客户端密码添加到应用注册:

  1. 在 Microsoft Entra 管理中心中,在“应用注册”中选择你的应用程序。
  2. 在“管理”下,选择“证书和机密”
  3. 在“客户端密码”部分中,选择“新建客户端密码” 。
  4. 在“添加客户端密码”窗格中,提供客户端密码的说明。
  5. 选择机密的过期时间,或指定自定义的生存期。
    • 客户端机密生存期限制为两年(24 个月)或更短。 不能指定超过 24 个月的自定义生存期。 Microsoft 建议将过期时间值设置为小于 12 个月。
  6. 选择 添加
  7. 记录客户端密码值(而不是其 ID),以供在后续步骤中使用。 此机密值仅在创建时显示一次,离开此页面后从未显示过。

尽管在本教程中使用了客户端密码,但我们建议你在将应用程序移动到生产环境之前使用证书。 若要详细了解如何使用证书,请参阅这些说明

添加范围

由于此应用要让用户登录,因此需要添加委托的权限:

  1. 在“管理”下,选择“API 权限”>“添加权限” 。
  2. 确保已选择“Microsoft API”选项卡。
  3. 在“常用 Microsoft API”部分,选择“Microsoft Graph”。
  4. 在“委托的权限”部分中,确保选择“User.ReadBasic.All”。 如有必要,请使用搜索框。
  5. 选择“添加权限”。

后续步骤