Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用API密钥了解AWS API网关中的客户上下文

使用API密钥了解AWS API网关中的客户上下文
EN

Stack Overflow用户
提问于 2019-02-13 15:44:51
回答 2查看 1.1K关注 0票数 1

我正在为我的lambda函数设置API网关,并使用代理集成。我还为该API创建了使用计划和API密钥,并与两个客户( k1 & c2 )共享API密钥c1和c2。

当客户使用键k2进行调用时,有什么方法可以从我的lambda函数中找到请求是由c2发出的吗?

我有一个实现RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent>的java处理程序。

但不幸的是,我没有在APIGatewayProxyRequestEvent中找到客户上下文

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-14 11:47:26

您将不会在使用API keys的事件中获得客户上下文。API键可以在多个usage plans之间为不同的API共享。因此,它们不能绑定到任何一个API部署中。如果您想要这样做,您将自己管理它(例如,将1个API限制为1个customer,将API键映射到customer)。

我认为AWS没有提供这一点的原因之一是因为API keys纯粹是针对usage plans的。任何类型的身份验证/授权(其中用户标识很重要)都需要使用其他技术,如IAMCognito user poolscustom authorizer。请看

若要在使用计划中包括API方法,必须配置单个API方法以要求API密钥。对于用户身份验证和授权,不要使用API密钥。使用IAM角色、Lambda授权程序或亚马逊认知用户池。

票数 0
EN

Stack Overflow用户

发布于 2019-02-13 16:04:33

我将在方法请求和集成请求时将API键添加到HTTP报头中,以便Lambda接收所提供的API密钥,然后在Lambda中的一个函数根据所读取的API键选择要运行的代码或打印用户编号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54681163

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文