Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何使用JWT处理React Native中的登录流?_Reactjs_Authentication_Jwt_Native - Fatal编程技术网

Reactjs 如何使用JWT处理React Native中的登录流?

Reactjs 如何使用JWT处理React Native中的登录流?,reactjs,authentication,jwt,native,Reactjs,Authentication,Jwt,Native,我正在制作一个应用程序,我能够使用JWT创建身份验证流,如下所示: 用户使用电子邮件和密码->服务器登录,检查数据库中是否存在电子邮件和密码-> 如果为正,则返回一个JWT,该JWT存储在asyncStorage中,并处于userToken状态->如果userToken不同于null,则返回主页 我将JWT存储在asyncStorage中,因为我有一个useEffect函数,该函数检查asyncStorage,如果用户每次打开应用程序时都存储了令牌,那么他们就不必再次登录。如果有令牌,那么它会将

我正在制作一个应用程序,我能够使用JWT创建身份验证流,如下所示:

用户使用电子邮件和密码->服务器登录,检查数据库中是否存在电子邮件和密码-> 如果为正,则返回一个JWT,该JWT存储在asyncStorage中,并处于userToken状态->如果userToken不同于null,则返回主页

我将JWT存储在asyncStorage中,因为我有一个useEffect函数,该函数检查asyncStorage,如果用户每次打开应用程序时都存储了令牌,那么他们就不必再次登录。如果有令牌,那么它会将JWT设置为userToken状态

到目前为止还不错,我的应用程序运行得很好,但有一部分我不明白

我的JWT编码了用户的ID,因此在我的脑海中,我曾设想我可以使用该ID从API中获取我想要的来自该用户的所有数据,并在应用程序中显示

但是。。。将用户ID存储在异步存储中不是更容易吗?为什么我要用JWT

我知道JWT的一些额外功能是设置到期日期,但在我的情况下,我不想这样做,因为我希望我的用户可以随时登录(当他们注销时,JWT会消失)

我错过了什么?仅仅为了提取ID而使用JWT是错误的吗?是否应该以不同的方式使用