如何从承载令牌中检索Cognito用户的唯一标识符以将与用户相关的数据保存在Web api后端中

爱丹

太疯狂了,我找不到来自Amazon或其他来源的任何文档来描述与AWS Cognito集成时如何在Web api后端中保存与用户相关的数据。似乎是一个相当普遍的用例。

举例来说,假设我要创建一个包含Exercises用户可以创建的后端Exercises被隔离到用户,所以我需要在用户标识外键列Exercise表(我使用和RDBMS称为SQL Server,但我仍然有一个NoSQL数据库相同的问题)。前端使用React,Amplify和AppSync连接到后端Web API lambda(C#.NET Core)。

我以为,我将调用Auth.signIn,存储承载令牌并将其传递到Authorization标头中,然后AppSync会将其传递给API。在API中,我需要获取唯一标识符以检索或保存练习(或与此相关的任何其他与用户相关的数据)。

到达API端并且拥有承载令牌后,最佳做法是什么?我可以/应该使用它从Cognito检索用户对象吗?如果可以,我可以使用哪个唯一属性作为ID?我是否应该在名为“用户ID”的用户池上创建自己的自定义属性,并保存在注册期间生成的GUID?有没有我可以阅读的文章或资料来源?似乎所有教程都是如何对资源进行身份验证和授权(例如控制器操作或AWS资源),而不是如何在用户经过身份验证和授权后为用户检索唯一标识符。我的应用程序中的大多数实体都非常重要地连接到了用户。

我还在Google和Facebook上使用联合登录。

杰里米·汤普森

您在授权标头中传递令牌,通常将加密的UserId / info发布到Gateway API。

您实际上可以为GatewayAPI和Lambda生成调用代码。这将向您展示如何进行。转到GatewayAPI登台(如果尚未,请部署到登台),选择“ SDK”选项卡,选择您的语言并生成。这些是所有示例所在的位置:

AWS Gateway API调用代码生成器的图像

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章