![](/img/trans.png)
[英]how to read azure app config values in C# startup.cs class in azure function
[英]How to add custom startup class in http trigger azure function app
Azure http 觸發器 function 應用程序沒有啟動。 我想實現 azure AD 身份驗證,它添加了Microsoft.AspNetCore.Builder的UseAuthentication方法來驗證令牌並對用戶進行身份驗證。
目前 Http 觸發器直接命中 Run 方法。應該有一些中間件邏輯來添加服務和配置
啟動 Class
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();
}
Authorize 屬性下的發布實現應該驗證令牌並允許/拒絕用戶訪問。
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 function 默認沒有Startup
class。 您可以使用IWebJobStartup
添加服務,但不能添加自定義中間件。
您可以[assembly: WebJobsStartup(typeof(MyNamespace.Startup))]
注冊和配置依賴注入綁定。 參考這篇文章。
[assembly: WebJobsStartup(typeof(MyNamespace.MyStartup))]
namespace MyNamespace
{
public static class Function1
{
[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");
}
}
public class MyStartup : IWebJobsStartup
{
public void Configure(IWebJobsBuilder builder)
{
builder.Services...
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.