我们可以通过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设置到登录页面