简体   繁体   中英

How to add custom http header in response from Azure function

I am trying azure function (nodejs) with google authentication from a client side javascript app. I have set up CORS for the correct URL(ie http://localhost:8080 ). But I am still getting the following error:

Credentials flag is 'true', but the 'Access-Control-Allow-Credentials' header is ''. It must be 'true' to allow credentials. Origin ' http://localhost:8080 ' is therefore not allowed access.

I have tried everywhere on the internet and spent few days to get the answers myself. It seems Azure http response needs to add this Access-Control-Allow-Credentials:true in the header. Is there a way to add custom headers?

Any help will be greatly appreciated.

In a Node function you can specify additional headers as follows:

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

I have finally managed to get around the issue. The trick is to remove all the CORS entries from Azure Functions app and handle it directly in your code.

Thanks to the tip shared in another stackoverflow issue regarding azure app service, which worked for azure functions as well.

More details regarding the work around are at:

github issue #620

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM