如何在Web API中验证Angular 应用令牌以及Azure门户中需要哪些配置

6ss1mwsb  于 2023-01-14  发布在  Angular
关注(0)|答案(1)|浏览(138)

一周以来,我一直在努力解决一个问题。我有一个使用Microsoft Graph进行身份验证的角应用程序,该流程运行良好。我们有一个最初向公众开放的备份,但现在我想使用Azure AD身份验证保护该API,我在这里完成了这项工作。
在Azure门户中,我添加了UI和API的两个应用注册,不知何故,我需要在这些应用注册之间建立连接,我正在寻找?
目前我正在处理以下问题enter image description here
任何参考链接也足够了。

sh7euo9m

sh7euo9m1#

我尝试在我的环境中重现相同的结果,得到以下结果:

我创建了两个Azure AD应用程序,为了在两个应用程序之间建立连接,我为后端应用程序公开了一个API

在前端应用程序中添加API权限,如下所示:

在生成令牌时,确保将scope用作**api://ClientIDofBackendApp/.default**,如下所示:

GET https://login.microsoftonline.com/TenantId/oauth2/v2.0/token

client_id:ClientID
client_secret:ClientSecret
scope:api://ClientIDofBackendApp/app.access
grant_type:authorization_code
redirect_uri:RedirectUri
code:code

要解决该错误,请确保在按如下方式连接应用程序后,aud为**api://ClientID/.default**:

在您的代码中,确保在配置文件中更改作用域,如下所示:

var scope ="api://ClientID/.default";

参考:

Using multiple APIs in Angular and ASP.NET Core with Azure AD authentication by damienbod

相关问题