【问题标题】:AWS API Gateway Websocket routes missing Cognito informationAWS API Gateway Websocket 路由缺少 Cognito 信息
【发布时间】:2020-10-23 07:51:07
【问题描述】:

我有 $connect 路由授权设置为 AWS_IAM 的 Websocket API。一旦我连接到 Cognito 身份池凭据,$connect 路由 lambda 集成的上下文就会包含所有 Cognito 数据:

CognitoAuthenticationType=authenticated;
CognitoAuthenticationProvider=cognito-idp.us-west-2.amazonaws.com/us-west-2_xxxxxxx,cognito-idp.us-west-2.amazonaws.com/us-west-2_xxxxx:CognitoSignIn:user_id;
etc

但如果我在同一连接上调用任何其他 Websocket 路由,则该路由没有任何 Cognito 数据。

在 $connect 之外的路由中获取 Cognito 身份 ID 的正确方法是什么?我正在使用 Golang SDK 实现 lambda。

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway amazon-cognito


    【解决方案1】:

    我正在使用 AWS Gateway V2 API、WEBSOCKET 协议类型和 Cognito(但凭据处理方式与您的不同)。

    网关 V2 API 允许 $connect 路由上的身份验证 lambda 与身份验证响应一起返回上下文对象,并且这些上下文对象值在发送到的事件对象中传递路线 lambda。

    Gateway V1 API 中可能已添加相同的上下文处理。

    我的实现是在 python 中,但一旦它稳定下来,我可能会将其转换为 Go 以匹配项目的其余部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-30
      • 2018-12-16
      • 2018-09-23
      • 1970-01-01
      • 2017-05-29
      • 1970-01-01
      • 2017-06-05
      • 2022-11-15
      相关资源
      最近更新 更多