带有 STS 和自定义身份验证器的 AWS API 网关——有人有浏览器客户端的例子吗?
AWS API gateway with STS and Custom Authenticator -- anyone with example with browser client?
我很难让它工作,我想知道是否有人可以提供我可以收集的工作代码示例。这是我的要求:
- 一个 AWS Lambda 函数(我们称之为 BizFunction),以 AWS API 网关为前端,并配置了自定义授权方。
- 另一个 AWS Lambda 函数(我们称它为 LoginFunction),同样在 AWS API 的前面,没有任何授权。在登录过程中,LoginFunction 根据用户数据库验证用户的凭据输入,如果验证通过,则使用 STS 创建 Cognito 身份。凭据、会话令牌等随后返回给用户的浏览器。
我想不通的是如何编写调用 BizFunction 的代码。我正在使用 AWS API 网关提供的生成的客户端 SDK,我的自定义授权方获取 "AWS4-HMAC-SHA256 Credential=..../2016..../eu-west-2/execute-api/aws4_request, SignedHeaders=accept;host;x-amz-date;x-api-key, Signature=....." 的整个授权字符串。但我如何将其转换为 Cognito 身份,然后识别用户?
我的客户端是浏览器,我找到的大部分示例都是基于移动设备的。有没有人有关于我如何继续的任何工作示例或指示?
提前致谢!
您将无法对使用 AWS 凭据签名的请求使用自定义授权方。如果您使用会话凭据将请求签署到 API 网关,只需启用 "AWS_IAM" 身份验证。
如果您想查看身份,这些将作为 $context.identity variables 的一部分提供。
我很难让它工作,我想知道是否有人可以提供我可以收集的工作代码示例。这是我的要求:
- 一个 AWS Lambda 函数(我们称之为 BizFunction),以 AWS API 网关为前端,并配置了自定义授权方。
- 另一个 AWS Lambda 函数(我们称它为 LoginFunction),同样在 AWS API 的前面,没有任何授权。在登录过程中,LoginFunction 根据用户数据库验证用户的凭据输入,如果验证通过,则使用 STS 创建 Cognito 身份。凭据、会话令牌等随后返回给用户的浏览器。
我想不通的是如何编写调用 BizFunction 的代码。我正在使用 AWS API 网关提供的生成的客户端 SDK,我的自定义授权方获取 "AWS4-HMAC-SHA256 Credential=..../2016..../eu-west-2/execute-api/aws4_request, SignedHeaders=accept;host;x-amz-date;x-api-key, Signature=....." 的整个授权字符串。但我如何将其转换为 Cognito 身份,然后识别用户?
我的客户端是浏览器,我找到的大部分示例都是基于移动设备的。有没有人有关于我如何继续的任何工作示例或指示?
提前致谢!
您将无法对使用 AWS 凭据签名的请求使用自定义授权方。如果您使用会话凭据将请求签署到 API 网关,只需启用 "AWS_IAM" 身份验证。
如果您想查看身份,这些将作为 $context.identity variables 的一部分提供。