小编Mol*_*ont的帖子

在 AWS Lambda 中维护会话状态

如何在AWS Lambda 中维护会话状态?例如,如果我需要查询DynamoDb以获取登录用户的订阅信息,如果用户使用的是AngularJS Web 应用程序,我该如何从 Lambda 函数执行此操作?

我让用户使用Auth0登录,并有一个在 AWS 上验证用户的自定义授权方。但后来我想使用登录用户CognitoID来查询 DynamoDB。

根据 Lambda (node.js) ( https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-context.html ) 的AWS 文档,您只有有关 Amazon Cognito 身份的信息通过 AWS 移动开发工具包调用时提供程序。

identity.cognitoIdentityId

identity.cognitoIdentityPoolId
Run Code Online (Sandbox Code Playgroud)

但是如果我使用一个使用 AngularJS 和 Auth0 的网络应用程序呢?

好吧,也许在 DynamoDB 中存储用户信息的最简单的解决方案就是在客户端提取JWT,在 AngularJS 中,然后将提取的 Auth0(user_id例如)facebook|12345在 API 请求中发送到 Lambda,Lambda 查询用户是否DynamoDB 中存在,如果不存在则创建新记录。

然后,在对必须查询用户信息的 API 的每个请求中,我发送user_id并在 Lambda 中使用该 ID 查询数据库。这应该是安全的,因为我在自定义授权方验证用户令牌并在请求到达 Lambda 之前拒绝或允许请求。

lambda amazon-web-services aws-lambda auth0

0
推荐指数
1
解决办法
2407
查看次数

标签 统计

amazon-web-services ×1

auth0 ×1

aws-lambda ×1

lambda ×1