c# - 如何在http触发azure函数应用程序中添加自定义启动类

标签 c# azure .net-core azure-function-app

Azure http 触发器函数应用程序不附带启动。我想实现 azure 的 AD 身份验证,它添加 Microsoft.AspNetCore.BuilderUseAuthentication 方法来验证 token 并对用户进行身份验证。

目前Http触发器直接调用Run方法。应该有一些中间件逻辑来添加服务和配置

创业类

public void ConfigureServices(IServiceCollection services)
{            services.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme)
               .AddAzureADBearer(options => Configuration.Bind("ConfigName", options));
}


public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory logger)
{
   app.UseAuthentication();
}

授权属性下的后实现应验证 token 并允许/拒绝用户访问。

public static class Function1
   {
       [Authorize]
       [FunctionName("Function1")]
       public static async Task<IActionResult> Run(
           [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
           ILogger log)
       {
           log.LogInformation("C# HTTP trigger function processed a request.");

           return (ActionResult)new OkObjectResult($"Hello");
       }
   }

请帮忙。

最佳答案

默认情况下,Azure 函数没有 Startup 类。您可以使用 IWebJobStartup 添加服务,但无法添加自定义中间件。

关于c# - 如何在http触发azure函数应用程序中添加自定义启动类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58796923/

相关文章:

java - 静态成员与实例成员

c# - 访问冲突异常

azure - 为重复的 JavaScript 调用禁用 Application Insights 浏览器遥测

c# - 与 Microsoft.Azure.ActiveDirectory.GraphClient 相比,调用 Microsoft.Graph 时用户没有足够的数据内容

java - 如何在android中的azure离线同步中异步同步多个表

c# - Net Core 3.1、Firebird 2.5 和 FB.EF 7.5

c# - Enumerator.MoveNext() 的奇怪行为

c# - 我的翻译充满了奇怪的字符?

sql - 如何从ef core中的sql获取sys.databases或sys.tables

c# - dbup 不会自动创建 schemaversions 表