首页 > 解决方案 > AWS - React Native - 注册、登录 - 在客户端和服务器端生成会话令牌

问题描述

我对应用程序开发相当陌生,但我已经准备好前端注册和登录表单,可以在 react native 中使用。我想将此数据从客户端发送到我的 AWS 服务器,以便为每个用户进行身份验证和创建会话令牌。我在网上只能找到将 Cognito 与 Amplify 一起使用。这不是问题,尽管我希望能够在客户端和服务器端访问会话令牌。Amplify 可以做到这一点吗?

我过去曾在 AWS 上使用 express 作为 Websockets、Routes 和其他有趣的东西的反应服务器,并且希望再次使用它,因为我熟悉以这种方式处理后端逻辑。在那里,我假设我会从客户那里收到会话令牌,并与 Cognito/Amplify 的记录进行比较。如果会话令牌匹配,则从其他 AWS 服务(例如 S3、DynamoDB)中分发适当的资源,例如图像、字符串、视频等。Express 将允许我以这种方式创建自定义 API 路由/URL。

这听起来像是一个好的计划,甚至是可行的吗?还有其他更简单的方法可以实现这一目标吗?很难筛选他们提供的所有文档。请告诉我!提前致谢 :)

标签: reactjsamazon-web-servicesauthenticationamazon-cognitoaws-amplify

解决方案


您可以Auth. currentAuthenticatedUser在注册过程之后使用来获取会话身份验证令牌并将其保存在前端。如果您要将其发送到后端,您需要在 Cognito 中创建一个 PostConfirmation 函数来获取访问令牌并将其发送到您的后端。

最好的方法是使用 Amplify 处理所有事情,如果您对 Express 更满意,我建议您在 Amplify 中创建一个 Rest API。他们将处理与资源访问相关的所有事情。

我建议你观看这个 Youtube 频道。他有非常整洁的教程。https://www.youtube.com/user/boyindasouth


推荐阅读