本主题说明如何将 Azure 应用服务或 Azure Functions 配置为使用 Microsoft Entra ID 来支持个人 Microsoft 帐户登录。
重要
虽然 Microsoft 帐户提供程序仍受支持,但建议应用改用 Microsoft 标识平台提供程序 (Microsoft Entra ID)。 Microsoft 标识平台可以为组织帐户和个人 Microsoft 帐户提供支持。
在 Azure 门户中转到应用注册。 根据需要使用 Microsoft 帐户登录。
选择“新注册”,然后输入应用程序名称。
在“受支持的帐户类型”下,选择“任何组织目录(任何 Microsoft Entra 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如 Skype、Xbox)”
在“重定向 URI”中,选择 Web,然后输入
https://<app-domain-name>/.auth/login/aad/callback
。 将 <app-domain-name> 替换为应用的域名。 例如,https://contoso.chinacloudsites.cn/.auth/login/aad/callback
。 确保在 URL 中使用 HTTPS 方案。选择“注册”。
复制应用程序(客户端)ID。 稍后需要用到此信息。
在左侧窗格中,选择“证书和机密”>“新建客户端机密”。 输入说明,选择有效期,然后选择“添加”。
复制“证书和机密”页面上显示的值。 关闭页面后,就不再显示该值。
重要
客户端机密值(密码)是重要的安全凭据。 请不要与任何人共享密码或者在客户端应用程序中分发它。
在 Azure 门户中转到你的应用程序。
选择“设置”>“身份验证/授权”,并确保“应用服务身份验证”为“启用”。
在“身份验证提供程序”下,选择“Microsoft Entra ID”。 在“管理模式”下,选择“高级”。 粘贴之前获取的应用程序(客户端)ID 和客户端机密。 对“颁发者 URL”字段使用
https://login.partner.microsoftonline.cn/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0
。选择“确定”。
应用服务提供身份验证但不限制对站点内容和 API 的已授权访问。 必须在应用代码中为用户授权。
(可选)若只允许 Microsoft 帐户用户进行访问,请将“请求未经身份验证时需执行的操作”设置为“使用 Microsoft Entra ID 登录”。 设置此功能时,应用会要求对所有请求进行身份验证。 它还将所有未经身份验证的请求重定向以使用 Microsoft Entra ID 进行身份验证。 请注意,由于你已将“颁发者 URL”配置为使用 Microsoft 帐户租户,因此只有个人帐户才能成功进行身份验证。
警告
以这种方式限制访问适用于对应用的所有调用,对于主页公开可用的应用程序来说,这可能是不可取的,就像在许多单页应用程序中一样。 对于此类应用程序,“允许匿名请求(无操作)”可能是首选,因此应用会以手动方式自行启动身份验证。 有关详细信息,请参阅身份验证流。
选择“保存”。
现在,可以使用 Microsoft 帐户在应用中进行身份验证。