SPA应用程序(Angular5)如何访问单独的WebAPI(在AzureAD下)

时间:2019-07-10 02:45:29

标签: azure asp.net-web-api azure-active-directory single-page-application

我们有

  • SPA应用程序说, SPAApp1 (使用ADAL程序包的Angular5)受Azure AD保护。
    注意:此解决方案没有.NET组件
  • WebAPI,例如受AzureAD保护的 WebAPI1 (.NET)。
  • 在WebAPI1中创建名称为 AllAccess 的作用域
  • 授予 SPAApp1 访问Azure门户中范围 AllAccess WebAPI1

登录SPA应用程序后,我们获得了该用户的ID_Token。

  1. 我们如何从SPAApp1调用WebAPI1,将令牌传递给 合适的范围?
  2. 如何生成此令牌,该令牌可用于 从SPAApp1访问WebAPI1?

据我所知,要访问资源,我们需要获取访问令牌,其中将包含所需的范围aud(资源)?我们如何在SPAApp中获取此访问令牌

1 个答案:

答案 0 :(得分:0)

由于您使用的是adal软件包,因此您需要的是资源(而不是msal所需的scope参数)。资源的值应为api://{your_webapi_clientId}

您可以引用代码here来获取访问令牌。