我正在尝试创建一个简单的(React)网站,用户登录后,它会从MySQL数据库中获取数据,并将其显示在网站上的一个表中。
首页-〉登录-〉应用程序
我想显示用户登录应用程序时存储在AWS RDS(MySQL)中的数据。
我已经设置了域和静态主机。我在AWS Cognito中设置了一个用户池。我设置了一个带有授权的API网关,并将一个基本的lambda函数连接到它。当用户登录时,将被重定向到头部带有JWT令牌的应用程序页面。我不知道从这里去哪里。
我是这么想的
- 用户登录,重定向到标头中带有JWT标记的回调URL。
- 获取JWT标记,对其进行解码并获取用户电子邮件
- 在Lambda函数中,连接到数据库示例(AWS RDS)
- 要查询用户数据,请从名称为用户电子邮件的表中选择用户数据
我不知道如何做上面的任何一个(除了SQL查询)。这些甚至是正确的步骤吗?
如何在代码中获得JWT标记?据我所知,每个API调用都必须传递该标记?我从API Gateway获得了调用URL,如何使用JWT标记发送请求?
数据库示例是什么样子的?它是一个表的集合,每个表代表一个用户吗?
我如何在使用和不使用AWS Amplify的情况下做到这一点?
我已经尝试了几个星期,但有这么多的信息,我觉得我过于复杂的东西,是非常简单的实施。
1条答案
按热度按时间bprjcwpo1#
另一种方法是使用AWS SDK for JavaScript在后端和显示数据的React前端查询数据。
此用例位于AWS代码库中,网址为:
Create an Aurora Serverless work item tracker
此示例说明如何使用**AWS SDK for JavaScript(v3)**创建一个Web应用程序,该应用程序可跟踪Amazon Aurora数据库中的工作项,并通过Amazon Simple Email Service(Amazon SES)发送报告。此示例使用一个使用React.js构建的前端与Express Node.js后端交互。此示例中使用的服务
此示例中使用的AWS服务:
请注意,此示例侧重于AWS SDK,如RDSDataClient),而不是JWT令牌、Amplify等内容