每个阶段更改我的AWS API网关自定义授权程序

时间:2017-02-14 01:07:57

标签: amazon-web-services aws-lambda aws-api-gateway custom-authentication

我目前有API通过我们的API网关,该网关附加了多个自定义授权程序 - pos + 2val & ~4294967040

我想根据所访问的阶段更改我的自定义授权程序,就像阶段变量一样。如果我们处于阶段测试中,请使用LiveAuthorizer,如果在实时使用TestAuthorizer

从我的研究和page来看,它似乎不可能,任何想法?

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

1 个答案:

答案 0 :(得分:2)

您可以在单个Authorizer中使用stage变量指向不同的Lambda函数,具体取决于阶段,但您不能指向不同的Authorizer。

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

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