通过在 Microsoft Entra 管理中心注册应用程序,开始使用 Microsoft 标识平台。
Microsoft 标识平台仅对已注册的应用程序执行标识和访问管理 (IAM)。 无论是类似于 Web 应用或移动应用的客户端应用程序,还是支持客户端应用的 Web API,注册它都会在应用程序与标识提供程序(Microsoft 标识平台)之间建立信任关系。
注册应用程序会在应用与 Microsoft 标识平台之间建立信任关系。 信任是单向的:应用信任 Microsoft 标识平台,但标识平台并不信任应用。 创今后,无法在不同租户之间移动应用程序对象。
按照以下步骤创建应用注册:
至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你希望在其中注册应用程序的租户。
浏览至“标识”>“应用程序”>“应用注册”,选择“新建注册”。
输入应用程序的显示名称。 应用程序的用户在使用应用时(例如,在登录过程中)可能会看到显示名称。
你可以随时更改显示名称,多个应用注册可共享同一名称。 应用注册自动生成的应用程序(客户端)ID(而不是其显示名称)在标识平台中唯一地标识应用。
指定可使用该应用程序的人员,这有时称为“登录访问者”。
支持的帐户类型 |
说明 |
仅此组织目录中的帐户 |
如果要生成仅供租户中的用户(或来宾)使用的应用程序,请选择此选项。
通常称为业务线 (LOB) 应用程序,这是 Microsoft 标识平台中的单租户应用程序 。 |
任何组织目录中的帐户 |
如果希望任何 Microsoft Entra 租户中的用户都能够使用你的应用程序,请选择此选项。 例如,如果要构建打算向多个组织提供的软件即服务 (SaaS) 应用程序,则适合使用此选项。
这类应用在 Microsoft 标识平台中被称为多租户应用程序。 |
任何组织目录中的帐户和个人 Microsoft 帐户 |
若要面向最广泛的客户,请选择此选项。
通过选择此选项,将注册一个多租户应用程序,该应用还可支持拥有 Microsoft 个人帐户的用户 。 Microsoft 个人帐户包括 Skype、Xbox、Live 和 Hotmail 帐户。 |
Microsoft 个人帐户 |
如果要构建仅供具有 Microsoft 个人帐户的用户使用的应用程序,请选择此选项。 Microsoft 个人帐户包括 Skype、Xbox、Live 和 Hotmail 帐户。 |
暂时不考虑“重定向 URI (可选)”,因为你在下一节中会配置一个重定向 URI。
选择“注册”,完成初始应用注册。
注册完成后,Microsoft Entra 管理中心会显示应用注册的“概述”窗格。 你会看到应用程序(客户端)ID。 此值也被称为客户端 ID,它可唯一地标识 Microsoft 标识平台中的应用程序。
重要
默认情况下,新应用注册对用户隐藏。 当你准备好让用户在其“我的应用”页上查看该应用时,可以将其启用。 要启用应用,请在 Microsoft Entra 管理中心导航到“标识”>“应用程序”>“企业应用程序”并选择该应用。 然后,在“属性”页上将“对用户可见?”切换为“是”。
应用程序的代码(更多情况下通常是应用程序中使用的身份验证库)也会使用客户端 ID。 在验证它从标识平台中接收的安全令牌时,会使用此 ID。
重定向 URI 是 Microsoft 标识平台重定向用户客户端并在身份验证后发送安全令牌的位置。
例如,在生产 Web 应用程序中,重定向 URI 通常是运行应用的公共终结点,比如 https://contoso.com/auth-response
。 在开发过程中,通常还会添加在本地运行应用的终结点,例如 https://127.0.0.1/auth-response
或 http://localhost/auth-response
。 请确保生产应用中未公开任何非必要的开发环境/重定向 URI。 可以通过为开发和生产创建单独的应用注册来完成此目标。
可通过配置已注册应用程序的平台设置来添加和修改它的重定向 URI。
在 Azure 门户的平台配置中配置每种应用程序类型的设置(包括重定向 URI)。 某些平台(例如 Web 和单页应用程序)要求手动指定重定向 URI 。 对于其他平台(例如移动和桌面),可选择在配置其他设置时为用户生成的重定向 URI。
若要根据面向的平台或设备配置应用程序设置,请执行以下步骤:
在 Microsoft Entra 管理中心门户中,在“应用注册”中选择你的应用。
在“管理”下,选择“身份验证”。
在“平台配置”下,选择“添加平台” 。
在“配置平台”下,选择应用程序类型(平台)的磁贴来配置其设置。
平台 |
配置设置 |
Web |
输入应用的重定向 URI。 Microsoft 标识平台在此 URI 处重定向用户客户端并在身份验证后发送安全令牌。
还可以配置前通道注销 URL 以及隐式流和混合流属性。
为服务器上运行的标准 Web 应用程序选择此平台。 |
单页应用程序 |
输入应用的重定向 URI。 Microsoft 标识平台在此 URI 处重定向用户客户端并在身份验证后发送安全令牌。
还可以配置前通道注销 URL 以及隐式流和混合流属性。
如果要使用 JavaScript 或类似 Angular、Vue.js、React.js 等框架或 Blazor WebAssembly 来构建客户端 Web 应用,请选择此平台。 |
iOS/macOS |
输入应用捆绑 ID。 可在“生成设置”或 Info.plist 中的 Xcode 内找到此信息。
指定捆绑 ID 时,系统会为你生成重定向 URI。 |
Android |
输入应用的包名称。 可在 AndroidManifest.xml 文件中找到它。 也请生成签名哈希并输入它。
如果指定这些设置,将生成重定向 URI。 |
移动和桌面应用程序 |
选择其中一个建议的重定向 URI。 或者指定一个或更多自定义重定向 URI。
对于使用嵌入式浏览器的桌面应用程序,我们建议
https://login.microsoftonline.com/common/oauth2/nativeclient
对于使用系统浏览器的桌面应用程序,我们建议
http://localhost
对于不使用最新的 Microsoft 身份验证库 (MSAL) 或未在使用代理的移动应用程序,请选择此平台。 同时也为桌面应用程序选择此平台。 |
选择“配置”以完成平台配置。
对于添加到应用注册的重定向 URI,其格式方面存在某些限制。 有关这些限制的详细信息,请参阅重定向 URI(回复 URL)的限制和局限。
凭据供访问 Web API 的机密客户端应用程序使用。 Web 应用、其他 Web API 或服务类型和守护程序类型的应用程序都是机密客户端。 通过凭据,应用程序可以自己的身份进行身份验证,无需用户在运行时进行任何交互。
可将证书、客户端密码(字符串)或联合标识凭据作为凭据添加到你的机密客户端应用注册。 建议尽可能使用来自受信任的证书颁发机构 (CA) 的证书。
证书有时称为公钥,是建议的凭据类型,因为我们认为证书比客户端机密更安全。 若要详细了解如何在应用程序中使用证书作为身份验证方法,请参阅 Microsoft 标识平台应用程序身份验证证书凭据。
- 在 Microsoft Entra 管理中心门户中,在“应用注册”中选择你的应用。
- 选择“证书和机密”“证书”>“上传证书”>。
- 选择你想要上传的文件。 它必须是以下文件类型之一:.cer、.pem、.crt 。
- 选择 添加 。
客户端密码有时称为应用程序密码,它是一个字符串值,应用可以使用该值代替证书来标识自身。
我们认为客户端机密的安全性不如证书凭据。 应用程序开发人员在本地开发应用期间有时会使用客户端机密,因为它们比较容易使用。 但是,对于在生产环境中运行的任何应用程序,应该使用证书凭据。
- 在 Microsoft Entra 管理中心门户中,在“应用注册”中选择你的应用。
- 选择“证书和机密”“客户端密码”>“新建客户端密码”>。
- 添加客户端机密的说明。
- 选择机密的过期时间,或指定自定义的生存期。
- 客户端机密生存期限制为两年(24 个月)或更短。 不能指定超过 24 个月的自定义生存期。
- Microsoft 建议将过期时间值设置为小于 12 个月。
- 选择 添加 。
- 记录机密的值,以便在客户端应用程序代码中使用。 退出此页面后,此机密值永不再显示。
有关应用程序安全性的建议,请参阅 Microsoft 标识平台最佳做法和建议。
如果使用自动创建服务主体的 Azure DevOps 服务连接,则需要从 Azure DevOps 门户网站更新客户端密码,而不是直接更新客户端密码。 请参阅此文档,了解如何从 Azure DevOps 门户网站更新客户端密码:排查 Azure 资源管理器服务连接问题。
联合标识凭据是一种凭据类型,此类凭据支持工作负载(例如 GitHub Actions、Kubernetes 上运行的工作负载,或在 Azure 外部的计算平台中运行的工作负载)访问受 Microsoft Entra 保护的资源,而无需使用工作负载标识联合身份验证管理机密。
若要添加联合凭据,请执行以下步骤:
在 Microsoft Entra 管理中心门户中,在“应用注册”中选择你的应用。
选择“证书和机密”“联合凭据”>“添加凭据”。>
在“联合凭据方案”下拉框中选择一种支持的方案,并按照相应的指导完成配置。
- 客户托管的密钥:用于使用另一个租户中的 Azure Key Vault 对租户中的数据进行加密。
- 部署 Azure 资源的 Github Actions:用于配置 GitHub 工作流,从而获取应用程序的令牌并将资产部署到 Azure。
- 访问 Azure 资源的 Kubernetes:用于配置 Kubernetes 服务帐户,从而获取应用程序的令牌并访问 Azure 资源。
- 其他证书颁发者:将应用程序配置为信任托管标识或外部 OpenID Connect 提供程序管理的标识,获取应用程序的令牌并访问 Azure 资源。
有关详细信息,请参阅 Microsoft 标识平台和 OAuth 2.0 客户端凭据流一文,了解如何使用联合凭据获取访问令牌。