AWS lambda无服务器网站会话维护

我开发了一个使用node.js作为后端的网站。 最近我试图使它无服务器,并部署到lambda。 我将重写大部分代码,但是在用户login后还没有想出如何维护会话。我使用“express-session”模块,会话数据全部logging在数据库中。

说实话我对会议没有很深的理解。 我search了谷歌,没有find我所需要的。 有没有人有一些使用lambda维护会话的示例代码? 或任何资源。 非常感谢!

HTTP中有多种机制来维护Web应用程序中的会话状态,例如Cookie(标准HTTP标头),URL参数,GET请求上的URL参数,POST请求上的主体参数(如隐藏表单字段(HTML表单))或专有的HTTP标头。

来源: 会话pipe理备忘单

AWS Lambda与会话pipe理无关,除非您想重新发明轮子并编写用于存储/检索数据库会话variables的Lambda函数,在这种情况下,我build议您使用Amazon Cognito进行会话pipe理。 请参阅适用于JavaScript的Amazon Cognito Identity SDK 。

在用于Javascript的Amazon Cognito Identity SDK中 ,特别检查用例16,它显示了如何检索Cognito当前用户。 你可以使用这个函数来传递页面间当前的用户属性。

var poolData = { UserPoolId : '...', // Your user pool id here ClientId : '...' // Your client id here }; var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData); var cognitoUser = userPool.getCurrentUser(); if (cognitoUser != null) { cognitoUser.getSession(function(err, session) { if (err) { alert(err); return; } console.log('session validity: ' + session.isValid()); // other AWS actions ... }); }