我正在使用 Nuxt auth-module 进行开发。登录 API 返回此结构的数据:
data:{
data:{
user:{
bio: null
createdAt: "2021-06-29T12:28:42.442Z"
email: "[email protected]"
id: 1
image: null
token: "token"
updatedAt: "2021-06-29T12:28:42.447Z"
username: "name"
}
}
}
nuxt配置:
auth: {
strategies: {
local: {
endpoints: {
login: { url: 'users/login', method: 'post', propertyName: 'data.user.token' },
user: { url: 'me', method: 'get', propertyName: 'data' },
logout: false
}
}
}
},
但是令牌不会保存在应用程序中。你有什么解决办法吗?
所以我找到了解决方案:
auth: {
strategies: {
local: {
token: {
property: 'user.token', // /user endpoint API returns user object
type: 'Token' // if your token type is not Bearer
},
user: {
user: 'user'
},
endpoints: {
login: { url: '/users/login', method: 'post' },
user: { url: '/user', method: 'get' },
logout: false
}
}
}
},
结构是
data.data.user
而不是data.user
,因此IMO你需要用这样的配置来指定它
auth: {
strategies: {
local: {
user: {
property: 'data.user', // or maybe 'data.data.user'
// autoFetch: true
},
}
}
}
如文档中所述。