带有STS和Custom Authenticator的AWS API网关 - 任何有浏览器客户端示例的人?

时间:2016-03-22 07:23:38

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

我很难让这个工作起来,我想知道是否有人可能有一个我可以收集的工作代码示例。这是我的要求:

  • 一个AWS Lambda函数(让我们称之为BizFunction),由AWS API Gateway提供,并配置了自定义授权程序。
  • 另一个AWS Lambda函数(让我们称之为LoginFunction),也是AWS API的前端,没有任何授权。在登录过程中,LoginFunction对用户数据库的用户凭证输入进行身份验证,如果经过验证,则使用STS创建Cognito身份。然后将凭证,会话令牌等返回到用户的浏览器。

我无法弄清楚如何编写代码来调用BizFunction。我使用AWS API Gateway提供的生成的客户端SDK,我的自定义授权程序获取整个授权字符串" AWS4-HMAC-SHA256 Credential = .... / 2016 .... / eu- west-2 / execute-api / aws4_request,SignedHeaders = accept; host; x-amz-date; x-api-key,Signature = ....."。但是,如何将其转换为Cognito身份,然后确定用户?

我的客户端是一个浏览器,我发现的大部分示例都是基于移动设备的。有没有人有任何工作实例或指示我如何继续?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您将无法将自定义授权程序与使用AWS凭据签名的请求一起使用。如果您使用会话凭证将请求签署到API网关,只需启用" AWS_IAM"认证

如果您想查看身份,这些内容将作为$context.identity variables

的一部分提供