我正在处理在通过Azure AD认证的Azure Web应用程序上部署的Web应用程序。 它主要基于ASP.Net Core的角度模板。后端将前端托管在ClientApp目录中。
对于身份验证,前端与msal-angular插件一起使用,该插件在访问时重定向到Azure AD身份验证页面。登录后,登录页面重定向回前端,该前端捕获令牌,并使用授权承载头中的令牌对后端进行所有调用。
.Net Core后端配置有:
services.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme)
.AddAzureADBearer(options => Configuration.Bind("AzureActiveDirectory", options));
最后,为了使所有这些工作正常进行,我在Azure AD应用程序注册中为后端输入了一个条目,为前端输入了另一个条目。
这很好用,但是我们想摆脱它直接在Web应用程序上使用身份验证。 这样,我们可以保护更多的应用程序安全,如果用户未通过身份验证,该应用程序甚至不会下载。
我如何做到这一点?
我怎么知道连接了哪个用户?实际上,我使用IHttpContextAccessor来获取UPN声明。
感谢您的帮助