在Azure中托管的AzureAD经过身份验证的应用中,我会像这样
在api控制器中获取访问令牌 public override void OnActionExecuting(ActionExecutingContext context)
{
base.OnActionExecuting(context);
_client.DefaultRequestHeaders.Accept.Clear();
var tokenHeader = Request.Headers["X-MS-TOKEN-ADD-ACCESS-TOKEN"];
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokenHeader );
}
由于Azure AD应用服务会注入令牌,因此只有在Azure中托管时才能使用。
如何让它在我的开发环境中运行?这当然会产生例外。
后端和前端都使用AzureAD身份验证进行保护。 前端应用程序已将权限设置为门户网站AzureAD部分中的后端应用程序。 在代码中,appsettings.json中没有配置任何内容。
答案 0 :(得分:0)
根据您的描述,您正在使用Easy Auth进行网络应用服务。您知道,Easy auth适用于Azure Web App服务,它由Azure管理。因此,我担心您无法通过本地计算机对您的应用程序使用Easy Auth身份验证。
有关针对Azure Web App服务的Easy Auth的更多详细信息,您可以参考this documentation。
如果您在开发系统上本地运行应用程序,请轻松 Auth将无法使用,您将无法访问令牌, 您在申请中可能需要的等等。为了调试那些 您的应用程序的功能,您将需要部署到Azure Web 应用。另一种方法是进行登录和身份验证 应用程序代码中的工作流程,但后来你不再 利用Easy Auth。
但是,有一种方法可以使用Easy Auth。Here is a blog进行.NET Core Web App的本地调试,该方法介绍了一种方法。此博客可能有助于您的方案进行思考。