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

Pan*_*ano 7 session lambda amazon-web-services node.js

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

说实话,我对会议没有非常深刻的理解.我在谷歌搜索,但没有找到我需要的东西.有没有人在使用lambda维护会话时有一些示例代码?或任何资源.非常感谢!

chr*_*phb 8

Amazon Cognito Identity SDK for Javascript 中,特别检查用例 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 ...
        });
    }
Run Code Online (Sandbox Code Playgroud)


Kha*_* T. 4

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

来源:会话管理备忘单

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