3

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

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

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

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

4

1 回答 1

3

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

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

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

于 2017-02-14T01:34:29.690 回答