【问题标题】:Is there any way to not send Authorization token directly in every request有没有办法不在每个请求中直接发送授权令牌
【发布时间】:2022-11-23 18:43:47
【问题描述】:
我正在练习一个以 ruby on rails 作为后端,以 React JS 作为前端的项目。
我知道在身份验证/登录后,我必须将授权令牌连同每个请求一起发送到服务器,这是非常重复的。是否有任何自动化的方法来执行此过程而不是在每个请求的标头中发送授权令牌。
环境
- ReactJS(前端)
- Ruby On Rails(后端)
【问题讨论】:
标签:
reactjs
ruby-on-rails
authentication
jwt
token
【解决方案1】:
是的,您可以使用自定义配置创建一个新的 axios 实例。
示例如下;
const getHeader = () => {
const token = loadToken();
return {
Authorization: `Bearer ${token}`,
Accept: 'application/json',
'Content-Type': 'application/json',
};
};
const axiosInstance = axios.create();
axiosInstance.interceptors.request.use(
function (config) {
config.baseURL = BASE_URL;
config.headers = getHeader();
return config;
},
function (error) {
Promise.reject(error);
}
);