Microsoft Entra 外部 ID 使组织能够管理客户的标识,并安全地控制对面向公众的应用程序和 API 的访问。 允许客户在其中购买产品、订阅服务或访问其帐户和数据的应用程序。 客户只需在设备或 Web 浏览器上登录一次,即可访问你向其授权的所有应用程序。
若要使应用程序能够通过外部 ID 登录,需要通过外部 ID 注册应用。 应用注册会在应用与外部 ID 之间建立信任关系。
在应用注册过程中,请指定重定向 URI。 重定向 URI 是一个终结点,用户进行身份验证之后,外部 ID 会将用户重定向到该终结点。 此应用注册过程会生成应用程序 ID(也称为“客户端 ID”),作为该应用的唯一标识 。
外部 ID 支持各种新式应用程序体系结构(例如 Web 应用或单页应用)的身份验证。 每个应用程序类型与外部租户的交互不同,因此,必须指定要注册的应用程序的类型。
注册单页应用
外部 ID 支持对单页应用 (SPA) 进行身份验证。
以下步骤演示如何在 Microsoft Entra 管理中心注册 SPA:
至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
浏览到“标识”>“应用程序”>“应用注册”。
选择“+ 新建注册”。
在出现的“注册应用程序”页面中,输入应用程序的注册信息:
在名称部分,输入一个将向应用用户显示的有意义的应用程序名称,例如 ciam-client-app。
在“支持的帐户类型”下,选择“仅此组织目录中的帐户” 。
在“重定向 URI (可选)”下,选择“单页应用程序(SPA)”,然后在 URL 框中输入 http://localhost:3000/
。
选择“注册”。
注册完成后,将显示应用程序的“概述”窗格。 记录要在应用程序源代码中使用的目录(租户)ID 和应用程序(客户端)ID。
关于重定向 URI
重定向 URI 是授权服务器(在本例中为 Microsoft Entra ID)在完成与用户的交互后将用户发送到的终结点,也是在成功授权后将访问令牌或授权代码发送到的终结点。
在生产应用程序中,它通常是运行应用的公共可访问终结点,如 https://contoso.com/auth-response
。
在应用开发过程中,可以添加应用程序在本地侦听的终结点,如 http://localhost:3000. 可以随时在注册的应用程序中添加和修改重定向 URI。
重定向 URI 存在以下限制:
回复 URL 必须以方案 https
开头,除非使用 localhost 重定向 URL。
回复 URL 区分大小写。 其大小写必须与正在运行的应用程序的 URL 路径的大小写匹配。 例如,如果应用程序将作为其路径 .../abc/response-oidc
的一部分包含在内,请不要在回复 URL 中指定 .../ABC/response-oidc
。 由于 Web 浏览器将路径视为区分大小写,因此在重定向到大小写不匹配的 .../ABC/response-oidc
URL 时,可能会排除与 .../abc/response-oidc
关联的 cookie。
回复 URL 应包括或排除应用程序预期的尾随正斜杠。 例如,https://contoso.com/auth-response
和 https://contoso.com/auth-response/
在应用程序中可能会被视为不匹配的 URL。
授权管理员同意
注册应用程序后,它会分配有 User.Read 权限。 但由于该租户是外部租户,因此客户用户本身不能同意此权限。 作为管理员,你必须代表租户中的所有用户同意此权限:
从“应用注册”页中,选择创建的应用程序(例如 ciam-client-app)以打开其“概述”页。
在“管理”下选择“API 权限”。
- 选择“为 <租户名称> 授予管理员同意”,然后选择“是”。
- 选择“刷新”,然后验证相应权限的“状态”下是否显示“已为 <租户名称> 授权”。
授予 API 权限(可选):
如果 SPA 需要调用 API,则必须授予 SPA API 权限才能调用 API。 还必须注册需要调用的 Web API。
若要授予客户端应用 (ciam-client-app) API 权限,请执行以下步骤:
从“应用注册”页中,选择创建的应用程序(例如 ciam-client-app)以打开其“概述”页。
在“管理”下选择“API 权限” 。
在“已配置权限”下,选择“添加权限”。
选择“我的组织使用的 API”选项卡。
在 API 列表中,选择 API(例如 ciam-ToDoList-api)。
选择“委托的权限”选项。
从权限列表中,选择“ToDoList.Read”、“ToDoList.ReadWrite”(必要时使用搜索框)。
选择“添加权限”按钮。 此时,你已正确分配了权限。 但是,由于租户是客户的租户,因此使用者用户本身不能同意这些权限。 若要解决此问题,作为管理员的你必须代表租户中的所有用户同意这些权限:
选择“为 <租户名称> 授予管理员同意”,然后选择“是”。
选择“刷新”,然后验证两个范围的“状态”下是否均显示“已为 <租户名称> 授予”。
从“配置的权限”列表中,选择“ToDoList.Read”和“ToDoList.ReadWrite”权限(一次选择一个),然后复制权限的完整 URI 供以后使用。 完整权限 URI 看起来类似于 api://{clientId}/{ToDoList.Read}
或 api://{clientId}/{ToDoList.ReadWrite}
。
若要了解如何通过添加链接来公开权限,请转到 Web API 部分。
测试用户流(可选)
若要使用此应用注册测试“用户流”,请启用用于身份验证的隐式授权流。
重要
隐式流应仅用于测试目的,而不是对生产应用中的用户进行身份验证。 完成测试后,建议将其删除。
若要启用该隐式流,请执行以下步骤:
- 至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
- 如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
- 浏览到“标识”>“应用程序”>“应用注册”。
- 选择创建的应用注册。
- 在“管理”下,选择“身份验证”。
- 在“隐式授权和混合流”下,选中“ID 令牌(用于隐式流和混合流)”复选框。
- 选择“保存”。
注册 Web 应用
外部 ID 支持 Web 应用的身份验证。
以下步骤演示如何在 Microsoft Entra 管理中心注册 Web 应用:
至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
浏览到“标识”>“应用程序”>“应用注册”。
选择“+ 新建注册”。
在出现的“注册应用程序”页面中,输入应用程序的注册信息:
在名称部分,输入一个将向应用用户显示的有意义的应用程序名称,例如 ciam-client-app。
在“支持的帐户类型”下,选择“仅此组织目录中的帐户” 。
在重定向 URI(可选)下,选择 Web,然后在 URL 框中输入一个 URL,例如 http://localhost:3000/
。
选择“注册”。
注册完成后,将显示应用程序的“概述”窗格。 记录要在应用程序源代码中使用的目录(租户)ID 和应用程序(客户端)ID。
关于重定向 URI
重定向 URI 是授权服务器(在本例中为 Microsoft Entra ID)在完成与用户的交互后将用户发送到的终结点,也是在成功授权后将访问令牌或授权代码发送到的终结点。
在生产应用程序中,它通常是运行应用的公共可访问终结点,如 https://contoso.com/auth-response
。
在应用开发过程中,可以添加应用程序在本地侦听的终结点,如 http://localhost:3000. 可以随时在注册的应用程序中添加和修改重定向 URI。
重定向 URI 存在以下限制:
回复 URL 必须以方案 https
开头,除非使用 localhost 重定向 URL。
回复 URL 区分大小写。 其大小写必须与正在运行的应用程序的 URL 路径的大小写匹配。 例如,如果应用程序将作为其路径 .../abc/response-oidc
的一部分包含在内,请不要在回复 URL 中指定 .../ABC/response-oidc
。 由于 Web 浏览器将路径视为区分大小写,因此在重定向到大小写不匹配的 .../ABC/response-oidc
URL 时,可能会排除与 .../abc/response-oidc
关联的 cookie。
回复 URL 应包括或排除应用程序预期的尾随正斜杠。 例如,https://contoso.com/auth-response
和 https://contoso.com/auth-response/
在应用程序中可能会被视为不匹配的 URL。
授权管理员同意
注册应用程序后,它会分配有 User.Read 权限。 但由于该租户是外部租户,因此客户用户本身不能同意此权限。 作为管理员,你必须代表租户中的所有用户同意此权限:
从“应用注册”页中,选择创建的应用程序(例如 ciam-client-app)以打开其“概述”页。
在“管理”下选择“API 权限”。
- 选择“为 <租户名称> 授予管理员同意”,然后选择“是”。
- 选择“刷新”,然后验证相应权限的“状态”下是否显示“已为 <租户名称> 授权”。
创建客户端机密
为注册的应用创建客户端机密。 应用程序在请求令牌时使用客户端密码来证明其身份。
- 从“应用注册”页中,选择创建的应用程序(例如 ciam-client-app)以打开其“概述”页。
- 在“管理”下,选择“证书和机密”。
- 选择“新建客户端机密”。
- 在“说明”框中输入对客户端密码的说明(如 ciam 应用客户端密码)。
- 在“过期时间”下,选择密码的有效期(根据组织的安全规则),然后选择“添加”。
- 记下机密的“值”。 在稍后的步骤中将使用此值进行配置。 离开“证书和机密”后,机密值不会再次显示,并且无法以任何方式检索。 请确保记录它。
授予 API 权限(可选)
如果应用需要调用 API,则必须授予 Web 应用 API 权限才能调用 API。 还必须注册需要调用的 Web API。
若要授予客户端应用 (ciam-client-app) API 权限,请执行以下步骤:
从“应用注册”页中,选择创建的应用程序(例如 ciam-client-app)以打开其“概述”页。
在“管理”下选择“API 权限” 。
在“已配置权限”下,选择“添加权限”。
选择“我的组织使用的 API”选项卡。
在 API 列表中,选择 API(例如 ciam-ToDoList-api)。
选择“委托的权限”选项。
从权限列表中,选择“ToDoList.Read”、“ToDoList.ReadWrite”(必要时使用搜索框)。
选择“添加权限”按钮。 此时,你已正确分配了权限。 但是,由于租户是客户的租户,因此使用者用户本身不能同意这些权限。 若要解决此问题,作为管理员的你必须代表租户中的所有用户同意这些权限:
选择“为 <租户名称> 授予管理员同意”,然后选择“是”。
选择“刷新”,然后验证两个范围的“状态”下是否均显示“已为 <租户名称> 授予”。
从“配置的权限”列表中,选择“ToDoList.Read”和“ToDoList.ReadWrite”权限(一次选择一个),然后复制权限的完整 URI 供以后使用。 完整权限 URI 看起来类似于 api://{clientId}/{ToDoList.Read}
或 api://{clientId}/{ToDoList.ReadWrite}
。
测试用户流(可选)
若要使用此应用注册测试“用户流”,请启用用于身份验证的隐式授权流。
重要
隐式流应仅用于测试目的,而不是对生产应用中的用户进行身份验证。 完成测试后,建议将其删除。
若要启用该隐式流,请执行以下步骤:
- 至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
- 如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
- 浏览到“标识”>“应用程序”>“应用注册”。
- 选择创建的应用注册。
- 在“管理”下,选择“身份验证”。
- 在“隐式授权和混合流”下,选中“ID 令牌(用于隐式流和混合流)”复选框。
- 选择“保存”。
注册 Web API
至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
浏览到“标识”>“应用程序”>“应用注册”。
选择“+ 新建注册”。
在出现的“注册应用程序”页面中,输入应用程序的注册信息:
在“名称”部分中,输入将向应用用户显示的有意义的应用程序名称,例如“ciam-ToDoList-api”。
在“支持的帐户类型”下,选择“仅此组织目录中的帐户” 。
选择“注册”以创建应用程序。
注册完成后,将显示应用程序的“概述”窗格。 记录要在应用程序源代码中使用的目录(租户)ID 和应用程序(客户端)ID。
公开权限
API 需要至少发布一个范围(也称为委托的权限),客户端应用才能成功获取用户的访问令牌。 若要发布范围,请执行以下步骤:
从“应用注册”页中,选择创建的 API 应用程序 (ciam-ToDoList-api) 以打开其“概述”页。
在“管理”下,选择“公开 API” 。
在页面顶部的“应用程序 ID URI”旁边,选择“添加”链接以生成对此应用来说独一无二的 URI。
接受建议的应用程序 ID URI,例如 api://{clientId}
,然后选择“保存”。 Web 应用程序在请求 Web API 的访问令牌时,会将此 URI 添加为你为 API 定义的每个范围的前缀。
在“此 API 定义的范围”下选择“添加范围”。
输入以下值,用于定义对 API 的读取访问权限,然后选择添加范围以保存更改:
属性 |
价值 |
作用域名 |
ToDoList.Read |
谁可以许可 |
仅管理员 |
管理员许可显示名称 |
使用“ToDoListApi”读取用户待办事项列表 |
管理员同意说明 |
允许应用使用“TodoListApi”读取用户的待办事项列表。 |
状态 |
已启用 |
再次选择添加范围,然后输入定义对 API 的读取和写入访问权限范围的以下值。 选择“添加作用域”,保存所做更改:
属性 |
价值 |
作用域名 |
ToDoList.ReadWrite |
谁可以许可 |
仅管理员 |
管理员许可显示名称 |
使用“ToDoListApi”读写用户 ToDo 列表 |
管理员同意说明 |
允许应用使用“ToDoListApi”读写用户的 ToDo 列表 |
状态 |
已启用 |
在“管理”下,选择“清单”以打开 API 清单编辑器。
将 accessTokenAcceptedVersion
属性设置为 2
。
选择“保存”。
详细了解 Web API 的发布权限时的最小特权原则。
添加应用角色
API 需要至少为应用程序发布一个应用角色(也称为应用程序权限),以便客户端应用以自己的身份获取访问令牌。 应用程序权限是 API 想要使客户端应用程序能够成功地以自己的身份进行身份验证(无需让用户登录)时应发布的权限类型。 若要发布应用程序权限,请执行下列步骤:
从“应用注册”页中,选择创建的应用程序(例如 ciam-ToDoList-api)以打开其“概述”页。
在“管理”下,选择“应用角色”。
选择“创建应用角色”,输入以下值,然后选择“应用”以保存更改:
属性 |
值 |
显示名称 |
ToDoList.Read.All |
允许的成员类型 |
应用程序 |
值 |
ToDoList.Read.All |
说明 |
允许应用使用“TodoListApi”读写每个用户的待办事项列表 |
再次选择“创建应用角色”,为第二个应用角色输入以下值,然后选择“应用”以保存更改:
属性 |
值 |
显示名称 |
ToDoList.ReadWrite.All |
允许的成员类型 |
应用程序 |
值 |
ToDoList.ReadWrite.All |
说明 |
允许应用使用“ToDoListApi”读写每个用户的 ToDo 列表 |
注册桌面或移动应用
以下步骤演示如何在 Microsoft Entra 管理中心注册应用:
至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
浏览到“标识”>“应用程序”>“应用注册”。
选择“+ 新建注册”。
在出现的“注册应用程序”页面中,输入应用程序的注册信息:
在名称部分,输入一个将向应用用户显示的有意义的应用程序名称,例如 ciam-client-app。
在“支持的帐户类型”下,选择“仅此组织目录中的帐户” 。
在“重定向 URI (可选)”下,选择“移动和桌面应用程序”选项,然后在“URL”框中输入具有唯一方案的 URI。 例如,Electron 桌面应用的重定向 URI 看起来类似于 http://localhost
,而 .NET 多平台应用 UI (MAUI) 的重定向 URI 看起来类似于 msal{ClientId}://auth
。
选择“注册”。
注册完成后,将显示应用程序的“概述”窗格。 记录要在应用程序源代码中使用的目录(租户)ID 和应用程序(客户端)ID。
授权管理员同意
注册应用程序后,它会分配有 User.Read 权限。 但由于该租户是外部租户,因此客户用户本身不能同意此权限。 作为管理员,你必须代表租户中的所有用户同意此权限:
从“应用注册”页中,选择创建的应用程序(例如 ciam-client-app)以打开其“概述”页。
在“管理”下选择“API 权限”。
- 选择“为 <租户名称> 授予管理员同意”,然后选择“是”。
- 选择“刷新”,然后验证相应权限的“状态”下是否显示“已为 <租户名称> 授权”。
授予 API 权限(可选)
如果移动应用需要调用 API,则必须授予移动应用 API 权限才能调用 API。 还必须注册需要调用的 Web API。
若要授予客户端应用 (ciam-client-app) API 权限,请执行以下步骤:
从“应用注册”页中,选择创建的应用程序(例如 ciam-client-app)以打开其“概述”页。
在“管理”下选择“API 权限” 。
在“已配置权限”下,选择“添加权限”。
选择“我的组织使用的 API”选项卡。
在 API 列表中,选择 API(例如 ciam-ToDoList-api)。
选择“委托的权限”选项。
从权限列表中,选择“ToDoList.Read”、“ToDoList.ReadWrite”(必要时使用搜索框)。
选择“添加权限”按钮。 此时,你已正确分配了权限。 但是,由于租户是客户的租户,因此使用者用户本身不能同意这些权限。 若要解决此问题,作为管理员的你必须代表租户中的所有用户同意这些权限:
选择“为 <租户名称> 授予管理员同意”,然后选择“是”。
选择“刷新”,然后验证两个范围的“状态”下是否均显示“已为 <租户名称> 授予”。
从“配置的权限”列表中,选择“ToDoList.Read”和“ToDoList.ReadWrite”权限(一次选择一个),然后复制权限的完整 URI 供以后使用。 完整权限 URI 看起来类似于 api://{clientId}/{ToDoList.Read}
或 api://{clientId}/{ToDoList.ReadWrite}
。
测试用户流(可选)
若要使用此应用注册测试“用户流”,请启用用于身份验证的隐式授权流。
重要
隐式流应仅用于测试目的,而不是对生产应用中的用户进行身份验证。 完成测试后,建议将其删除。
若要启用该隐式流,请执行以下步骤:
- 至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
- 如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
- 浏览到“标识”>“应用程序”>“应用注册”。
- 选择创建的应用注册。
- 在“管理”下,选择“身份验证”。
- 在“隐式授权和混合流”下,选中“ID 令牌(用于隐式流和混合流)”复选框。
- 选择“保存”。
注册守护程序应用
以下步骤演示如何在 Microsoft Entra 管理中心注册守护程序应用:
至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
浏览到“标识”>“应用程序”>“应用注册”。
选择“+ 新建注册”。
在出现的“注册应用程序”页面中,输入应用程序的注册信息:
在“名称”部分中,输入将向应用用户显示的有意义的应用程序名称,例如“ciam-client-app”。
在“支持的帐户类型”下,选择“仅此组织目录中的帐户” 。
选择“注册”。
注册完成后,将显示应用程序的“概述”窗格。 记录要在应用程序源代码中使用的目录(租户)ID 和应用程序(客户端)ID。
授予 API 权限
守护程序应用使用 OAuth 2.0 客户端凭据流以自身身份登录。 授予应用程序权限(应用角色),这是作为自身进行身份验证的应用所必需的。 还必须注册守护程序应用需要调用的 Web API。
从“应用注册”页中,选择创建的应用程序(例如 ciam-client-app)。
在“管理”下选择“API 权限” 。
在“已配置权限”下,选择“添加权限”。
选择“我的组织使用的 API”选项卡。
在 API 列表中,选择 API(例如 ciam-ToDoList-api)。
选择“应用程序权限”选项。 我们选择此选项是因为应用以自身身份登录,而不是以用户身份登录。
从权限列表中,选择“TodoList.Read.All”、“ToDoList.ReadWrite.All”(必要时使用搜索框)。
选择“添加权限”按钮。
此时,你已正确分配了权限。 但是,由于守护程序应用不允许用户与之交互,因此用户本身无法同意这些权限。 若要解决此问题,作为管理员的你必须代表租户中的所有用户同意这些权限:
- 选择“为 <租户名称> 授予管理员同意”,然后选择“是”。
- 选择“刷新”,然后验证两个权限的“状态”下是否均显示“已为 <租户名称> 授予”。
测试用户流(可选)
若要使用此应用注册测试“用户流”,请启用用于身份验证的隐式授权流。
重要
隐式流应仅用于测试目的,而不是对生产应用中的用户进行身份验证。 完成测试后,建议将其删除。
若要启用该隐式流,请执行以下步骤:
- 至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
- 如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
- 浏览到“标识”>“应用程序”>“应用注册”。
- 选择创建的应用注册。
- 在“管理”下,选择“身份验证”。
- 在“隐式授权和混合流”下,选中“ID 令牌(用于隐式流和混合流)”复选框。
- 选择“保存”。
注册 Microsoft Graph API 应用程序
若要使应用程序能够让用户通过 Microsoft Entra 登录,必须让 Microsoft Entra 外部 ID 能够感知你创建的应用程序。 应用注册会在应用与 Microsoft Entra 之间建立信任关系。 注册应用程序时,外部 ID 会生成一个称为“应用程序(客户端)ID”的唯一标识符,该值用于在创建身份验证请求时标识应用。
以下步骤演示如何在 Microsoft Entra 管理中心注册应用:
至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
浏览到“标识”>“应用程序”>“应用注册”。
选择“+ 新建注册”。
在显示的“注册应用程序”页中;
- 输入一个向应用用户显示的、有意义的应用程序名称,例如 ciam-client-app。
- 在“支持的帐户类型”下,选择“仅此组织目录中的帐户” 。
选择“注册”。
成功注册后,会显示应用程序的“概述”窗格。 记录要在应用程序源代码中使用的应用程序(客户端)ID。
向应用程序授予 API 访问权限
若要让应用程序访问 Microsoft Graph API 中的数据,请向已注册的应用程序授予相关应用程序权限。 应用程序的有效权限是权限默示的完整特权级别。 例如,若要创建、读取、更新和删除外部租户中的所有用户,请添加 User.ReadWrite.All 权限。
在“管理”下选择“API 权限” 。
在“已配置权限”下,选择“添加权限”。
选择“Microsoft API”选项卡,然后选择“Microsoft Graph”。
选择“应用程序权限”。
展开相应的权限组,选中要将其授予管理应用程序的权限的复选框。 例如:
“用户”>“User.ReadWrite.All”:适用于用户迁移或用户管理方案 。
“组”>“Group.ReadWrite.All”:适用于创建组、读取和更新组成员身份以及删除组 。
AuditLog>AuditLog.Read.All:用于读取目录的审核日志。
Policy>Policy.ReadWrite.TrustFramework:适用于持续集成/持续交付 (CI/CD) 方案。 例如,使用 Azure Pipelines 进行的自定义策略部署。
选择“添加权限”。 按照指示等待几分钟,然后继续下一步。
选择“向(租户名称)授予管理员许可”。
如果当前未登录,请使用至少分配了“云应用程序管理员”角色的外部租户中的帐户登录,然后选择“为(你的租户名称)授予管理员同意”。
选择“刷新”,然后验证“状态”下是否显示“已授予...”。 传播权限可能需要几分钟时间。
注册完应用程序后,需要向应用程序添加客户端密码。 此客户端密码将用于对应用程序进行身份验证,以调用 Microsoft Graph API。
创建客户端机密
为注册的应用创建客户端机密。 应用程序在请求令牌时使用客户端密码来证明其身份。
- 从“应用注册”页中,选择创建的应用程序(例如 ciam-client-app)以打开其“概述”页。
- 在“管理”下,选择“证书和机密”。
- 选择“新建客户端机密”。
- 在“说明”框中输入对客户端密码的说明(如 ciam 应用客户端密码)。
- 在“过期时间”下,选择密码的有效期(根据组织的安全规则),然后选择“添加”。
- 记下机密的“值”。 在稍后的步骤中将使用此值进行配置。 离开“证书和机密”后,机密值不会再次显示,并且无法以任何方式检索。 请确保记录它。
测试用户流(可选)
若要使用此应用注册测试“用户流”,请启用用于身份验证的隐式授权流。
重要
隐式流应仅用于测试目的,而不是对生产应用中的用户进行身份验证。 完成测试后,建议将其删除。
若要启用该隐式流,请执行以下步骤:
- 至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
- 如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
- 浏览到“标识”>“应用程序”>“应用注册”。
- 选择创建的应用注册。
- 在“管理”下,选择“身份验证”。
- 在“隐式授权和混合流”下,选中“ID 令牌(用于隐式流和混合流)”复选框。
- 选择“保存”。
注册本机身份验证应用程序
若要使应用程序能够让用户通过 Microsoft Entra 登录,必须让 Microsoft Entra 外部 ID 能够感知你创建的应用程序。 应用注册会在应用与 Microsoft Entra 之间建立信任关系。 注册应用程序时,外部 ID 会生成一个称为“应用程序(客户端)ID”的唯一标识符,该值用于在创建身份验证请求时标识应用。
以下步骤演示如何在 Microsoft Entra 管理中心注册应用:
至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
如果你有权访问多个租户,请使用顶部菜单中的“设置”图标 ,通过“目录 + 订阅”菜单切换到你的外部租户。
浏览到“标识”>“应用程序”>“应用注册”。
选择“+ 新建注册”。
在显示的“注册应用程序”页中;
- 输入一个向应用用户显示的、有意义的应用程序名称,例如 ciam-client-app。
- 在“支持的帐户类型”下,选择“仅此组织目录中的帐户” 。
选择“注册”。
成功注册后,会显示应用程序的“概述”窗格。 记录要在应用程序源代码中使用的应用程序(客户端)ID。
授权管理员同意
注册应用程序后,它会分配有 User.Read 权限。 但由于该租户是外部租户,因此客户用户本身不能同意此权限。 作为管理员,你必须代表租户中的所有用户同意此权限:
从“应用注册”页中,选择创建的应用程序(例如 ciam-client-app)以打开其“概述”页。
在“管理”下选择“API 权限”。
- 选择“为 <租户名称> 授予管理员同意”,然后选择“是”。
- 选择“刷新”,然后验证相应权限的“状态”下是否显示“已为 <租户名称> 授权”。
启用公共客户端和本机身份验证流程
若要指定此应用为公共客户端,并且可以使用本机身份验证,请启用公共客户端和本机身份验证流程:
- 在“应用注册”页中,选择要为其启用公共客户端和本机身份验证流程的应用注册。
- 在“管理”下,选择“身份验证”。
- 在“高级设置”下,允许公共客户端流程:
- 对于“启用以下移动和桌面流程”,请选择“是”。
- 对于“启用本机身份验证”,请选择“是”。
- 选择“保存”按钮。