为外部租户在 Node.js Web 应用中调用 API 做好准备

适用于:带灰色 X 号的白色圆圈。 员工租户 带白色对号的绿色圆圈。 外部租户(了解详细信息

在本文中,你将准备外部租户以进行授权。 本文是四部分指南的第一部分。

先决条件

配置 idtyp 令牌声明 [可选]

可以添加 idtyp 可选声明,以帮助 Web API 确定令牌是 应用 令牌还是 应用 + 用户 令牌。 尽管可以将 scp 和 roles 声明的组合用于同一目的,但使用 idtyp 声明仍是区分应用令牌和应用 + 用户令牌的最简单方法。 例如,当令牌为仅限应用的令牌时,此声明的值为 app

使用 “配置可选声明 ”一文中的步骤将 idtyp 声明添加到访问令牌:

  • 对于 令牌类型 ,请选择 “访问”。
  • 从可选声明列表中,选择 idtyp

向 Web 应用授予 API 权限

根据先决条件,你在客户的租户中注册了客户端应用。 你还在客户中注册了 Web API 应用。 现在,需要向客户端应用授予 API 权限:

  1. 应用注册 页中,选择创建的应用程序(如 ciam-client-app),以打开其 概述 页。

  2. 在“管理”下,选择 API 权限

  3. 在“已配置权限”下,选择“添加权限”。

  4. 选择“我的组织使用的 API”选项卡。

  5. 在 API 列表中,选择 API(例如 ciam-ToDoList-api)。

  6. 选择“委托的权限”选项。

  7. 从权限列表中,选择“ToDoList.Read”、“ToDoList.ReadWrite”(必要时使用搜索框)。

  8. 选择“添加权限”按钮

  9. 此时,你已正确分配了权限。 但是,由于租户是客户的租户,因此消费者用户本身不能同意这些权限。 若要解决此问题,管理员必须代表租户中的所有用户同意这些权限:

    1. 选择“为<租户名称>授予管理员同意”,然后选择“是”。

    2. 选择“刷新”,然后验证两个权限的“状态”下是否均显示“已为 租户名称< 授予”>

  10. 从“配置的权限”列表中,选择“ToDoList.Read”和“ToDoList.ReadWrite”权限(一次选择一个),然后复制权限的完整 URI 供以后使用。 完整权限 URI 看起来类似于 api://{clientId}/{ToDoList.Read}api://{clientId}/{ToDoList.ReadWrite}

后续步骤

接下来,了解如何准备 Web 应用程序和 API。