目前,我正在使用React,Node,Express和Mysql开发CRUD应用程序,我是新来的,我面临的问题是我有一个从后端获取并存储在会话中的会话JWT令牌。但我不知道如何将其作为头部通过所有请求传递到后端以验证它,我有大约30-40个API链接,我现在直接调用这些链接,例如:const response = await axios.post(http://localhost:4000/confirm/${Id}
,{. data,});
我知道这是一个不好的做法,直接调用这样的API,但我没有得到在哪里存储它们,并通过传递会话ID与此沿着正确调用后端
我试图把API到.env文件,但没有得到如何通过该动态URL变量
2条答案
按热度按时间yeotifhr1#
首先,将axios config声明为:
字符串
在您的组件中:
型
不要忘记在你的env文件中初始化env var:
型
7fyelxc52#
我不是这里的Maven(这是我在StackOverflow中的第一个答案),但也许我可以从我使用NextAuth的经验中指出一些东西,我自己也有很多问题来正确处理身份验证。
我猜你是想做保护路线。我真的不知道如何正确地做到这一点,但让我问你一些事情,因为如果它符合你的需要,它的方式更容易!
我所做的是,我在前端有不同的交互可能性,关于用户是否经过身份验证。我所做的唯一验证是登录,然后将令牌存储在浏览器中,并为经过身份验证/未经过身份验证的用户提供不同的前端。事实上,未经过身份验证的用户(又名不是浏览器中的令牌)在我的应用程序中只能访问登录/注册页面.一旦你被认证,你做的检查在客户端之前获取.这是否符合您的需求?
我想你仍然可以用手写的网址查询,但被黑客攻击的人应该有你的其他用户会话ID。我不认为我在这里提供一个完整的解决方案,正如我所说,我最终使用NextAuth。
我希望我至少有帮助!
最新消息:看了贴出的答案,我认为它做得差不多,可能更好。但它没有回答你关于服务器端验证的问题。但也许我没有完全理解代码。