AWS Cognito,Lambda,DynamoDB中的用户凭证

jju*_*9jj 5 facebook amazon-web-services amazon-cognito aws-lambda

我在客户端站点上使用Facebook Login和AWS Cognito建立了身份验证流程。工作正常。但是,现在我需要在dynambodb表中使用该用户的Facebook ID对其进行引用。当然,我只能调用通过AWS API网关公开的AWS Lambda函数,但是如何验证API调用实际上具有有效的Facebook ID,并且该Facebook ID与AWS Cognito ID相匹配。也许我在这里错过了一些东西,希望你们能为我指出正确的方向;)谢谢!

per*_*pil 4

如果您可以通过 cognito id 而不是 facebook id 作为 ddb 表的键,则可以使用 cognito 凭据调用 api 网关。如果您在调用 lambda 时使用被调用者凭据,您可以通过 token 访问 cognito id $context.identity.cognitoIdentityId。这可确保调用是由该 ID 的所有者进行的。您可以进一步检查$context.identity.cognitoAuthenticationProvidergraph.facebook.com确保他们通过 Facebook 进行了身份验证。不幸的是,facebook id 没有在凭证中传递,所以如果您需要它,您将需要一个将 cognito id 映射到 facebook id 的查找表。有关可用令牌的更多详细信息,请参阅此处