我们有一个使用AWS Lambda(nodejs)和API Gateway构建的BFF,该BFF与需要用户身份验证的API进行接口。我们构建它的方法是为API服务提供一个单独的模块/文件。像这样的东西:
src
--handlers
--users.js // with function getMe()
--apiServices
--usersApi.js // with function getUser(id)
那么发生的事情是getMe()函数将接收带有身份验证令牌的带有请求标头的事件。但是我们需要在getUser(id)中使用auth令牌。我想到了两种方法可以做到这一点:
authToken
参数。>我更喜欢执行#2,因为它需要较少的更改,但是我担心这可能不是一个好主意,因为无法确定何时可以重用lambda容器(或者是否可以在以下位置重用)全部):https://aws.amazon.com/blogs/compute/container-reuse-in-lambda
以前有人尝试过第二种方法吗?还是我应该选择#1? #1的问题是apiServices下我们有很多文件,它们具有很多功能,因此我想应用尽可能少的更改。
我们有一个使用AWS Lambda(nodejs)和API Gateway构建的BFF,该BFF与需要用户身份验证的API进行接口。我们构建它的方法是为API提供一个单独的模块/文件...
您可以同时使用两种方法,但是要小心,并仔细检查用户之间的切换上下文,因为lambda会持续很短的时间,并且可能会被多次击中。