AWS - React Native - 注册、登录 - 在客户端和服务器端生成会话令牌
Posted
技术标签:
【中文标题】AWS - React Native - 注册、登录 - 在客户端和服务器端生成会话令牌【英文标题】:AWS - React Native - Sign-up, Sign-in - Generating Session tokens in both client and server side 【发布时间】:2021-11-15 05:27:21 【问题描述】:我对应用程序开发相当陌生,但我已经准备好前端注册和登录表单,可以在 react native 中使用。我想将此数据从客户端发送到我的 AWS 服务器,以便为每个用户进行身份验证和创建会话令牌。我在网上只能找到将 Cognito 与 Amplify 一起使用。这不是问题,尽管我希望能够在客户端和服务器端访问会话令牌。 Amplify 可以做到这一点吗?
我过去曾在 AWS 上使用 express 作为 Websockets、Routes 和其他有趣的东西的反应服务器,并且希望再次使用它,因为我熟悉以这种方式处理后端逻辑。在那里,我假设我会从客户那里收到会话令牌,并与 Cognito/Amplify 的记录进行比较。如果会话令牌匹配,则从其他 AWS 服务(例如 S3、DynamoDB)中分发适当的资源,例如图像、字符串、视频等。 Express 将允许我以这种方式创建自定义 API 路由/URL。
这听起来像是一个好的计划,甚至是可行的吗?还有其他更简单的方法可以实现这一目标吗?很难筛选他们提供的所有文档。请告诉我!在此先感谢:)
【问题讨论】:
【参考方案1】:您可以在注册过程后使用Auth. currentAuthenticatedUser
获取会话身份验证令牌并将其保存在前端。如果您要将其发送到后端,则需要在 Cognito 中创建 PostConfirmation 函数以获取访问令牌并将其发送到您的后端。
最好的方法是使用 Amplify 处理所有事情,如果您对 Express 更满意,我建议您在 Amplify 中创建一个 Rest API。他们将处理与资源访问相关的所有事情。
我建议您观看这个 Youtube 频道。他有非常整洁的教程。 https://www.youtube.com/user/boyindasouth
【讨论】:
非常感谢!听起来正是我正在寻找的。到目前为止,使用 cognito 放大前端身份验证是小菜一碟。他们让开发人员变得非常容易! 是的,学习曲线很艰难,但是一旦你适应了,就很容易了。我喜欢的一件事是 Amplify 可以帮助您了解 AWS 提供的不同服务,因此对于初学者来说是一个不错的选择以上是关于AWS - React Native - 注册、登录 - 在客户端和服务器端生成会话令牌的主要内容,如果未能解决你的问题,请参考以下文章
在 react-native 中使用 aws pinpoint 推送通知
AWS Amplify Auth Login 从 React Native 上的 React Native Webview
react-native-google-signin 与 AWS Cognito
如何使用 aws amplify 保持用户登录 react-native