使用 MSAL 保护 ASP.Net Core Web API 和 Angular App

Posted

技术标签:

【中文标题】使用 MSAL 保护 ASP.Net Core Web API 和 Angular App【英文标题】:Securing ASP.Net Core Web API and Angular App using MSAL 【发布时间】:2021-08-22 00:28:54 【问题描述】:

我有一个以 Angular 作为前端的 ASP.NET 核心 Web 应用程序。我在我的应用程序中创建了一个 Web API,我可以从 Angular 应用程序调用它。我想使用 MSAL 保护我的 Web API 和 Angular 客户端应用程序。我设法让 MASL 为我的 Angular 应用程序工作。然后我为我的 Web API 添加了身份验证。现在,如果我从 Angular 应用程序调用我的 API,它会返回 401 未经授权的响应。

我假设如果 Angular 应用程序经过身份验证,我将能够调用我的 Web API,因为两者都受到同一个 Azure AD 应用程序的保护。

请帮忙。

【问题讨论】:

【参考方案1】:

是的,Web API 和 Angular App 都受 Azure AD 保护。要使用 Microsoft Angular 身份验证库 (MSAL Angular) 使用 MSAL 和 Azure Active Directory (Azure AD) 保护 ASP.NET Core Web API 和 Angular 应用程序,请阅读更多here。您能否再次检查您是否正确添加了权限?

MSAL for Angular

Configure an application to expose a web API

Call an ASP.NET web API that's protected by Microsoft identity platform

【讨论】:

以上是关于使用 MSAL 保护 ASP.Net Core Web API 和 Angular App的主要内容,如果未能解决你的问题,请参考以下文章

Angular MSAL AD 401 在 Angular 应用程序中未经授权,但在 Postman 中 200 正常 - ASP.NET Core Web API

C# Asp.Net Core 使用 Redis 进行 ADDDistributedMemoryCache 和数据保护

使用 KeyCloak 保护 ASP.NET Core 3.1 MVC 应用程序

使用用户名和密码 Asp Net Core 2.1 保护 swagger 文档页面

如何使用基于声明的授权保护 asp.net core 2.1 中的静态文件夹

Asp.net core 3.1 保护 API 和 Web 应用程序