Цель: установить cookie из aws без сервера.
Я использую пользовательский поток аутентификации
domain: mydomain.com
current domain: dev.mydomain.com
login api (api gateway): account-api.mydomain.com
Вход в систему Lambda
функция входа в системуфактическая вызванная функция
Эта лямбда получает имя пользователя и пароль и создает / возвращает строку JWT & cookie, я удалил несоответствующую логику
* Прямо сейчас мой ответ содержит дополнительный материал дляпомогите мне отладить / выяснить, как сопоставить - я перенесу его, как только это успешно установит cookie
...
const handler = async event => {
const jwtBody = {
email: event.email,
uuid: current_user_info.uuid.S,
zipcode: current_user_info.zipcode.S,
}
var now = new Date();
var time = now.getTime();
var expireTime = time + (milliToHour*24*10);
now.setTime(expireTime);
var jwt = jsonwebtoken.sign(jwtBody, SMCData.secret, { algorithm: SMCData.alg, expiresIn: '1hr'});
const cookieString = "token="+jwt+";expires=" + now.toUTCString() + ";secure;HttpOnly;"
return {
statusCode: 200,
payload: {
verified: current_user_info.verified.BOOL,
jwt: jwt,
cookie: cookieString
}
}
}
const login = middy(handler).use(cors({
origins:[
"https://dev.mydomain.com",
"https://account-api.mydomain.com",
"https://*.mydomain.com"
],
credentials:true
}))
Текущий статус - почтальон
post_body = {
"email": "valid_email@email.com",
"password": "correct_password"
}
response_body = {
"statusCode":200,
"payload":{
"verified":false,
"jwt":"eyJh...KAQ",
"cookie":"token=ey...KAQ;expires=Tue, 12 Nov 2019 22:10:32 GMT;secure;HttpOnly;"
}
}
cookie также устанавливается: ![Postman correctly sets the cookie](https://i.stack.imgur.com/hCS2U.png)
Текущий статус - хром
Заголовки: ![Chrome Login Headers](https://i.stack.imgur.com/WNhMu.png)
post_body = {
"email": "valid_email@email.com",
"password": "correct_password"
}
response_body = {
"statusCode":200,
"payload":{
"verified":false,
"jwt":"eyJh...KAQ",
"cookie":"token=ey...KAQ;expires=Tue, 12 Nov 2019 22:10:32 GMT;secure;HttpOnly;"
}
}
cookie - это не установлено: ![Chrome does not have the cookie set](https://i.stack.imgur.com/1O4fA.png)
Конфигурация шлюза API CORS включен
* Я знаю, что я "должен" изменить значение отображения в ответе интеграции на шаблон отображения, но я хотел получить этоNGS работал, прежде чем я понял, как сделать это изменение.