Azure functions 如何从Azure函数返回403禁止

Azure functions 如何从Azure函数返回403禁止,azure-functions,Azure Functions,我正在用c#编写一个Azure函数,它执行一些自定义授权。如果授权失败,我想返回403。我尝试了以下方法: 返回新结果() 这将显示错误消息: '未指定authenticationScheme,未找到DefaultForbidden方案' 返回新的StatusCodeResult(403) 这给了我Firefox和Edge中的空白页面 想法?是HTTP触发的功能吗 return new HttpResponseMessage(HttpStatusCode.Forbidden); 对于自定义身

我正在用c#编写一个Azure函数,它执行一些自定义授权。如果授权失败,我想返回403。我尝试了以下方法:

  • 返回新结果()
    这将显示错误消息:

    '未指定authenticationScheme,未找到DefaultForbidden方案'

  • 返回新的StatusCodeResult(403)
    这给了我Firefox和Edge中的空白页面


  • 想法?

    是HTTP触发的功能吗

    return new HttpResponseMessage(HttpStatusCode.Forbidden);
    

    对于自定义身份验证失败(由于缺少凭据或权限不足或类似原因)时带有HttpTrigger的函数,我返回如下:

    • 仅针对状态代码的错误响应[CreateResponse]()
      request.CreateResponse(HttpStatusCode.Unauthorized)
    • 对于带有错误提示的错误响应
      request.CreateErrorResponse(HttpStatusCode.Unauthorized,“您没有足够的权限使用此强大的资源”)
    作为参考,401更适合于在auth范围内发生大nono的情况。根据w3 403的意思

    服务器理解该请求,但拒绝满足该请求。授权没有帮助,请求不应重复。如果请求方法不是HEAD,并且服务器希望公开请求未得到满足的原因,那么它应该在实体中描述拒绝的原因。如果服务器不希望将此信息提供给客户端,则可以使用状态代码404(未找到)

    其中401个州

    请求需要用户身份验证。响应必须包括WWW Authenticate标头字段(第14.47节),其中包含适用于请求资源的质询。客户可以使用合适的授权标头字段重复请求(第14.8节)。如果请求已包括授权凭据,则401响应表示已拒绝这些凭据的授权。如果401响应包含与先前响应相同的质询,并且用户代理已至少尝试了一次身份验证,则应向用户呈现响应中给出的实体,因为该实体可能包括相关诊断信息。HTTP访问身份验证在“HTTP身份验证:基本和摘要访问身份验证”中进行了解释

    这个东西也应该有用;)