部署的React应用在开发环境中运行良好,但出现401响应代码?
创始人
2025-01-07 11:00:26
0

当您在开发环境中测试React应用程序时通常不需要进行身份验证,但是在生产环境中可能需要进行身份验证。当您在生产环境中尝试访问需要身份验证的API时,系统返回401响应代码。 这种问题的解决办法是在您的React应用程序中添加正确的身份验证信息,例如使用JWT令牌身份验证机制。

以下是使用JWT令牌进行身份验证的示例代码:

import axios from 'axios'; import jwt_decode from 'jwt-decode';

const API_URL = process.env.REACT_APP_API_URL;

const login = async (username, password) => { const response = await axios.post(API_URL + 'auth/login', { username: username, password: password }); if (response.data.accessToken) { localStorage.setItem('user', JSON.stringify(response.data)); } return response.data; };

const logout = () => { localStorage.removeItem('user'); };

const getCurrentUser = () => { const user = JSON.parse(localStorage.getItem('user')); if (user && user.accessToken) { const decodedToken = jwt_decode(user.accessToken); const currentTime = Math.floor(Date.now() / 1000); if (decodedToken.exp < currentTime) { logout(); window.location.reload(); } return user; } else { return null; } };

export default { login, logout, getCurrentUser };

在此示例中,我们定义了三个函数:login、logout和getCurrentUser。login函数采用用户名和密码作为参数,并与后端API进行通信以获取JWT令牌。如果响应中包含JWT令牌,则将该令牌存储在本地存储中以便后续使用。logout函数仅从本地存储中删除用户信息。getCurrentUser函数返回当前用户的信息。如果用户没有登录,该函数返回null。如果用户已登录,则我们使用jwt-de

相关内容

热门资讯

透视攻略!aapoker透视插... 透视攻略!aapoker透视插件,hhpoker透视脚本,解密教程(一贯是真的有挂)1、让任何用户在...
透视好友!wepoker免费永... 透视好友!wepoker免费永久脚本,aapoker透视脚本下载,发现一款(有挂技巧)是一款可以让一...
透视教学!wepoker辅助下... 透视教学!wepoker辅助下载,wepoker有机器人吗,德州教程(最初是真的有挂)这是由厦门游乐...
透视脚本!aapoker有脚本... 透视脚本!aapoker有脚本吗,wpk脚本辅助器,揭秘攻略(有挂方法)1、很好的工具软件,可以解锁...
透视工具!aapoker辅助功... 透视工具!aapoker辅助功能,来玩德州破解器,规律教程(原先有挂);小薇(透视辅助)致您一封信;...
透视规律!wepoker辅助透... 1、透视规律!wepoker辅助透视软件,hhpoker免费透视脚本,一分钟揭秘(有挂详情);代表性...
透视有挂!aapoker辅助插... 透视有挂!aapoker辅助插件工具,hhpoker透视工具,技巧教程(原来真的有挂);1分钟了解详...
透视辅助!德朴之星脚本,德普之... 透视辅助!德朴之星脚本,德普之星辅助正版,终于发现(有挂辅助挂)1、实时德普之星辅助正版开挂更新:用...
透视软件!aapoker可以开... 透视软件!aapoker可以开挂吗,aapoker怎么提高中牌率,爆料教程(最初真的是有挂)1、不需...
透视总结!aapoker俱乐部... 透视总结!aapoker俱乐部靠谱吗,wepoker辅助器下载,终于懂了(有挂教程)1、很好的工具软...