我首先查看了Cognito用户池,但我无法完全自动化用户创建/验证过程,AWS在一份支持票中表示,用户必须单独验证电子邮件。然后,他们建议使用Lambda函数设置授权。
我创建了一个Lambda函数,API网关正在进行授权,但是看起来只有一个变量被发送进行授权,即 Identity token
Identity token
我想要的是从我的系统中为用户提供客户端id和密钥的方法(我可以生成所有这些),然后用户使用客户端id和密钥向API网关端点发出请求,网关将客户端id和密钥发送给调用我的系统进行验证的lambda函数,lambda返回有效策略,API网关然后使用客户端ID或从策略返回的其他标识符将请求发送到我的服务,以便我的系统知道请求的客户端。
事实证明,你的时机可能只提前了一天左右。您以前与客户授权人的接触是 TOKEN 授权人。今天,他们注意到通过新的 REQUEST 类型支持扩展得多的数据集来授权请求,例如请求参数、头、查询字符串等等。查看 Custom authorizer types 了解更多信息。
TOKEN
REQUEST