如何在Azure函数的响应中添加自定义http标头

时间:2016-08-29 21:28:42

标签: javascript node.js http-headers azure-functions

我正在尝试从客户端javascript应用程序使用google身份验证的azure功能(nodejs)。我已经为正确的URL设置了CORS(即http://localhost:8080)。但我仍然收到以下错误:

  

凭据标志为“true”,但“Access-Control-Allow-Credentials”   标题是''。允许凭据必须为“true”。起源   因此,“http://localhost:8080”不允许访问。

我在互联网上到处试过,花了几天时间自己得到答案。 Azure http响应似乎需要在标头中添加此Access-Control-Allow-Credentials:true。有没有办法添加自定义标题?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

在Node函数中,您可以按如下方式指定其他标题:

module.exports = function (context, req) {
    context.res = {
        status: 200,
        body: "Hello " + req.query.name,
        headers: {
            'Content-Type': 'text/plain',
            'MyCustomHeader': 'Testing'
        }
    };
    context.done();
}

答案 1 :(得分:2)

我终于成功解决了这个问题。诀窍是从Azure Functions应用程序中删除所有CORS条目,并直接在您的代码中处理它。

感谢另一个关于天蓝色应用服务的stackoverflow issue共享提示,该服务也适用于天蓝色功能。

有关解决方案的更多详情,请访问:

github issue #620