【问题标题】:Using one client application for multiple web api's in different azure active directories在不同的 azure 活动目录中为多个 Web api 使用一个客户端应用程序
【发布时间】:2020-01-13 16:58:21
【问题描述】:

我在“AADirectory1”应用注册中注册了一个客户端 Web 应用程序和一个 Web api 应用程序 为了从客户端使用 web api,我做了:

  1. WEB API 应用注册中暴露的 API
  2. 为客户端应用添加了与我的 WEB API 相关的 API 权限
  3. 为我的 Web 客户端配置了应用服务(App Services->Authentication / Authorization->Azure Active Directory,并将客户端 ID 和颁发者 URL 填写为 https://sts.windows.net/)

现在我在 AADirectory2 中有 WEB API2。我不想在 AADirectory2 中为 Web 客户端应用程序创建新的应用程序注册。相反,我想使用当前的 Web 客户端应用程序(在 AADirectory1 中)。问题是我不知道如何设置我的网络客户端,以便能够从网络客户端活动目录 (AADirectory1) 调用 webapi1 (AADirectory1) 和 web api2 (AADirectory2)。

【问题讨论】:

    标签: azure azure-active-directory azure-web-app-service easy-auth


    【解决方案1】:

    API 2 需要先做成多租户应用。

    然后您将使用如下 URL 对 API 进行身份验证:

    https://login.microsoftonline.com/directory-1-id/oauth2/authorize?client_id=api-2-client-id&response_type=code&prompt=admin_consent&redirect_uri=api-2-redirect-uri
    

    我在手机上输入这个,希望我没有遗漏一些参数。 在您这样做并同意之后,将在目录 1 中创建 API 2 的服务主体。 然后,您可以像往常一样要求并同意客户端的权限。

    现在,API 需要验证令牌是由目录 1 还是目录 2 颁发的。 不要像通常在多租户 API 中那样关闭颁发者验证。 而是定义两个有效的颁发者。

    【讨论】:

      猜你喜欢
      • 2018-08-21
      • 2018-06-17
      • 1970-01-01
      • 2019-07-18
      • 2021-12-07
      • 2022-11-06
      • 2020-03-28
      • 1970-01-01
      • 2022-06-16
      相关资源
      最近更新 更多