我尝试将nuxt auth模块与服务和axios实例一起使用。
nuxt.config.js
axios: {
baseURL: "..."
}
auth: {
strategies: {
local: {
token: {
property: 'access_token',
type: 'Bearer'
},
user: {
property: 'username',
},
endpoints: {
login: { url: '/authapi/api/account', method: 'post' }
user: false
}
}
}
}
使用$ auth.loginWith()进行身份验证可以很好地工作,我获得了一个access_token。然后我尝试创建一个axios实例
export let catalogApiClient = axios.create({
baseURL: "...",
withCredentials: true,
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
}
});
并在我的brandService.js中使用它
import { catalogApiClient } from '@/plugins/axios';
export default {
getBrands() {
return catalogApiClient.get("brands");
}
}
当我尝试在品牌页面上的获取挂钩中使用该服务时,会收到HTTP 401。
import brandsService from "~/services/catalog/brandsService";
export default {
async fetch({error}) {
try {
const response = await brandsService.getBrands();
}catch (e) {
console.log(e);
}
}
}