我们可以从cloudfront设置cookie吗?

时间:2017-09-20 05:23:36

标签: amazon-web-services cookies aws-lambda amazon-cloudfront

我们可以通过cloudfront中的边缘lambda将Cookie设置为查看者请求并重定向到同一页面吗?

我给出了下面为边缘lambda编写的示例代码。相同的代码接受云端事件中的Origin请求,但被查看者请求拒绝。

  

状态代码:400;错误代码:InvalidLambdaFunctionAssociation;   请求ID:xx

'use strict';

exports.handler = (event, context, callback) => {
     var date = new Date();

     // Get Unix milliseconds at current time plus 365 days
     date.setTime(+ date + (365 * 86400000)); //24 \* 60 \* 60 \* 100
     var cookieVal = Math.random().toString(36).substring(7); // Generate a random cookie string

     var cookieString = "testCookie="+cookieVal+"; domain=dxxxxxxxx.cloudfront.net; path=/index.html; expires="+date.toGMTString()+";";

    const response = {
        status: '302',
        statusDescription: 'Found',
        headers: {
            location: [{
            key: 'Location',
            value: 'https://dxxxxxxxxxxx.cloudfront.net/index.html',
            }],
            'set-cookie': [{
                key: 'Set-Cookie',
                value: cookieString
            }],
        },
    };
    callback(null, response);
};

场景:在登录页面设置cookie,如果没有设置cookie,请使用重定向将cookie设置到登录页面

0 个答案:

没有答案