【发布时间】:2022-09-29 20:36:27
【问题描述】:
我想使用 \"Lambda Authorizer\" 方法进行用户控制AWS API 网关.
在这个过程中,一个简单的身份验证服务器发布和验证 jwt 令牌,用于使用 expressJS 在 lambda 中构建。
但是,由于我不熟悉如何在 lambda 中开发 Express 应用程序,所以我在本地使用与现有 Express 表单相同的模板并使用无服务器 http 模块通过无服务器部署构建 Lambda 函数和 AWS API Gateway。
据我所知,在这种“Lambda Authorizer”方法中,AWS API Gateway 将客户端发送的 Bear Token 标头值作为 event->authorization Token 对象传递。
但是,我的 express 应用程序是以一种功能方式实现的,其中 req 和 res 存在如下,Lambda 无法接收该事件。
const serverless = require(\'serverless-http\');
const express = require(\'express\');
const jwt = require(\'./lib/jwt\')
const app = express();
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
app.get(\'/api/token\', (req, res) => {
const token = jwt.create_token(\'user\', \'user\')
res.send({ token });
});
module.exports.handler = serverless(app);
在这种情况下,应该在 express 中采取什么行动来访问事件对象?
标签: node.js amazon-web-services express aws-lambda