Azure功能授权

时间:2018-01-30 04:47:04

标签: azure azure-functions

我正在将WebApi转换为Azure Function应用程序。它使用标头中的SecurityToken进行身份验证。使用api,我输入了一个属性来调用身份验证逻辑,但这在Azure函数中不起作用。

[ApiAuthentication()]
    [FunctionName("GetConfig")]
    public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get")]HttpRequestMessage req, TraceWriter log)
    {

}

有没有办法让这项工作成功,还是有更好的方法?

1 个答案:

答案 0 :(得分:2)

ASP.Net WebAPI属性在Azure函数中不起作用(它们是两个独立的框架,虽然AF目前在WebAPI上实现,但它不会将其公开到表面) 。你有一些选择:

  1. 您还可以使用功能过滤器(尽管这些过滤器比ASP.Net过滤器更受限制)。有关此问题的更多文档,请参阅https://github.com/Azure/azure-webjobs-sdk/wiki/Function-Filters
  2. 功能(如常规Azure网站)支持与EasyAuth的集成。在这种情况下,您可以在门户中配置身份验证,系统(通过IIS模块)将为您处理身份验证。以下是如何执行此操作的一个教程:http://markheath.net/post/secure-azure-functions-app-easy-auth-adb2c