【问题标题】:How to stop axios from sending nuxt-auth token to external apis?如何阻止 axios 将 nuxt-auth 令牌发送到外部 API?
【发布时间】:2021-06-04 18:41:30
【问题描述】:
如何使用 axios 从 auth 中间件后面的页面向外部 API 发出请求? API 不需要任何身份验证。
每次发送包含身份验证令牌的请求时,它都不会产生任何问题,但我每次都将身份验证令牌发送到外部 API 并不安全。到目前为止我尝试过这个:
const config = {
headers: { Authorization: '' }
};
let response = $axios.$get(`APIURL`,config)
但是标头请求仍然包含身份验证令牌。
【问题讨论】:
标签:
vue.js
axios
httprequest
nuxt.js
【解决方案1】:
您确实不应该使用令牌标头作为默认值。
您是否在单独的文件中使用 axios 实例,您可以在其中配置请求/响应配置?那就这样做吧。
只为特定的 url 设置默认的 auth header,例如 base API url like
http://api.localhost:3333 并仅在此处发送令牌。
例子:
// Add a request interceptor
import axios from "axios";
axios.interceptors.request.use(config => {
const token = '';
const apiUrl = https://api.xxdomain.com/;
if (config.url.contains(apiUrl)) {
config.headers['Authorization'] = 'Bearer ' + token;
}else{
config.headers['Content-Type'] = 'application/json';
}
return config;
},
error => {
Promise.reject(error)
});
也尝试阅读这篇文章-> helpful link