将应用服务或 Azure Functions 应用配置为使用 Microsoft 帐户登录

本主题说明如何将 Azure 应用服务或 Azure Functions 配置为使用 Microsoft Entra ID 来支持个人 Microsoft 帐户登录。

重要

虽然 Microsoft 帐户提供程序仍受支持,但建议应用改用 Microsoft 标识平台提供程序 (Microsoft Entra ID)。 Microsoft 标识平台可以为组织帐户和个人 Microsoft 帐户提供支持。

使用 Microsoft 帐户注册应用

  1. 在 Azure 门户中转到应用注册。 根据需要使用 Microsoft 帐户登录。

  2. 选择“新注册”,然后输入应用程序名称。

  3. 在“受支持的帐户类型”下,选择“任何组织目录(任何 Microsoft Entra 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如 Skype、Xbox)”

  4. 在“重定向 URI”中,选择 Web,然后输入 https://<app-domain-name>/.auth/login/aad/callback。 将 <app-domain-name> 替换为应用的域名。 例如,https://contoso.chinacloudsites.cn/.auth/login/aad/callback。 确保在 URL 中使用 HTTPS 方案。

  5. 选择“注册”。

  6. 复制应用程序(客户端)ID。 稍后需要用到此信息。

  7. 在左侧窗格中,选择“证书和机密”>“新建客户端机密”。 输入说明,选择有效期,然后选择“添加”。

  8. 复制“证书和机密”页面上显示的值。 关闭页面后,就不再显示该值。

    重要

    客户端机密值(密码)是重要的安全凭据。 请不要与任何人共享密码或者在客户端应用程序中分发它。

向应用服务应用程序添加 Microsoft 帐户信息

  1. Azure 门户中转到你的应用程序。

  2. 选择“设置”>“身份验证/授权”,并确保“应用服务身份验证”为“启用”。

  3. 在“身份验证提供程序”下,选择“Microsoft Entra ID”。 在“管理模式”下,选择“高级”。 粘贴之前获取的应用程序(客户端)ID 和客户端机密。 对“颁发者 URL”字段使用 https://login.partner.microsoftonline.cn/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0

  4. 选择“确定”。

    应用服务提供身份验证但不限制对站点内容和 API 的已授权访问。 必须在应用代码中为用户授权。

  5. (可选)若只允许 Microsoft 帐户用户进行访问,请将“请求未经身份验证时需执行的操作”设置为“使用 Microsoft Entra ID 登录”。 设置此功能时,应用会要求对所有请求进行身份验证。 它还将所有未经身份验证的请求重定向以使用 Microsoft Entra ID 进行身份验证。 请注意,由于你已将“颁发者 URL”配置为使用 Microsoft 帐户租户,因此只有个人帐户才能成功进行身份验证。

    注意

    以这种方式限制访问适用于对应用的所有调用,对于主页公开可用的应用程序来说,这可能是不可取的,就像在许多单页应用程序中一样。 对于此类应用程序,“允许匿名请求(无操作)”可能是首选,因此应用会以手动方式自行启动身份验证。 有关详细信息,请参阅身份验证流

  6. 选择“保存”。

现在,可以使用 Microsoft 帐户在应用中进行身份验证。

后续步骤