每个阶段更改我的 AWS API Gateway 自定义授权者

Hex*_*xie 7 amazon-web-services custom-authentication aws-lambda aws-api-gateway

我目前有一个 API 通过我们的 API 网关,该网关附加了多个自定义授权者 -LiveAuthorizerTestAuthorizer.

我想根据正在访问的阶段更改我的自定义授权者,就像阶段变量一样。如果我们处于阶段测试,请使用TestAuthorizer,如果处于现场使用LiveAuthorizer

从我的研究和本页来看,这似乎不可能,有什么想法吗?

PS - 我知道这可以在执行身份验证的 Lambda 函数内处理,我只是好奇是否有另一种方法(类似于阶段变量)。

Jac*_*AWS 4

您可以在单个授权方中使用阶段变量来根据阶段指向不同的 Lambda 函数,但不能指向不同的授权方。

在很多情况下,指向不同的 Lambda 函数是可行的。授权者上的其他设置(如标头源或 TTL)不支持阶段变量,因此这些变量必须由所有阶段共享。

编辑:我应该解释一下,不允许这样做的一个关键原因是,如果在运行时变量不存在,我们的阶段变量功能按原样不会有后备。由于运行授权者至关重要,因此我们必须提出一种类似于具有内置安全机制的阶段变量的不同机制。