使用 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 文档页面