0

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

  1. WEB API App注册中暴露的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 中)。问题是我不知道如何设置我的 Web 客户端以便能够从 Web 客户端活动目录 (AADirectory1) 调用 webapi1 (AADirectory1) 和 web api2 (AADirectory2)。

4

1 回答 1

0

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 中那样关闭颁发者验证。而是定义两个有效的发行者。

于 2019-09-12T05:06:50.783 回答