-1

我正在使用 Node.Js 创建 lambda。我的第一个 lambda 是 Authorizer 连接到外部服务器并获取身份验证令牌。我的第二个、第三个和第四个 lambdas 使用该身份验证令牌进行 http post 调用以在调用标头中进行验证并执行函数。如果我将 auth lambda 中的令牌保存到环境变量中,我可以在其他 lambda 中重用它吗?或者将其保存到 Dynomodb 表并从中使用。我想知道哪个是更好的选择,以及是否有任何其他建议如何实现它。先感谢您。

4

1 回答 1

0

您可以将您的身份验证令牌 lambda 放在 api 网关后面,并根据您的令牌到期时间启用 TTL 的api 网关缓存。

另一种选择是在内存中设置令牌并在内存中未设置令牌时调用您的 auth lambda。因此,在每次冷启动的第一次调用中,您的身份验证令牌 lambda 将被调用,您可以将令牌保存在某个全局级别变量中。

确保您在代码中使用了一个实例AuthTokenService

class AuthTokenService {
    constructor() {
        this.token = '';
    }

    async getToken() {
        if (!this.token) {
            this.token = <Token from some api/lambda>
        }
        return this.token;
    }
}

module.exports = AuthTokenService;
于 2021-03-18T05:45:33.740 回答