我正在使用NuxtJs auth模来处理我在该州的授权。我为auth编写了一个能工作的快速api。
我的nuxt.config.js中有以下配置:
axios: {
baseURL: 'http://localhost:4000/api'
},
auth: {
strategies: {
local: {
endpoints: {
login: { url: '/users/login', method: 'post', propertyName: 'data.token' },
user: { url: '/users/me', method: 'get', propertyName: 'data' },
},
}
}
},在我的登录组件中,我像这样调用登录路由:
const { data } = await this.$auth.loginWith('local', {
data: this.login
})此调用成功地调用了/api/users/login路由(200),并在此之后调用/api/users/me时出错如下:
xhr.js:178 GET http://localhost:4000/api/users/me 401 (Unauthorized)
在postman中,我调用api路由,它像这样返回用户*
> Get - localhost:4000/api/users/me
>
> Authorization:
>
> Type: Bearer Token Token: xxxx返回用户数据。
我读到nuxt模块默认类型为“Bearer”,但在我的例子中,它不起作用。
用户登录工作,但返回用户数据的第二条路由由于授权而无法工作。Api不在nuxtjs中,它是一个用Express编写的不同的项目。
发布于 2020-11-30 01:27:41
你可以试试这个:
axios: {
baseURL: 'http://localhost:4000/api' },
auth: {
strategies: {
local: {
endpoints: {
login: { url: '/users/login', method: 'post', propertyName: 'data.token' },
user: { url: '/users/me', method: 'get', propertyName: 'data' },
},
tokenType: ''
}
}},
将tokenType设置为空字符串将覆盖默认的"Bearer“。一些服务器配置可能会抛出401。
https://stackoverflow.com/questions/61896211
复制相似问题