У меня есть API на основе паспорта laravel, где я запрашиваю у своего приложения nuxt данные для входа и данные, отвечающие в следующем формате.
{
"status": "success",
"token": "MySecret-Token",
"user": {
"id": 1002,
"name": "Shakhwat hossain",
"avatar": "https:someimageapi.com/avatar.jpg",
"mobile_no": "01834394****",
"email": "shakhawat@limmexbd.com",
"area_id": 1,
"sub_area_id": 0,
}
Но логин не работает в приложении nuxt с использованием модуля nuxt-auth версии 5.0.0-1608140074.47635f0
Вот мой метод входа
async login() {
try {
let response = await this.$auth.loginWith("local", { data: this.form });
} catch (err) {
console.info(err.response.data.message);
}
},
**and here is my nuxt auth setting in nuxt.config.js**
auth: {
strategies: {
local: {
token: {
property: 'token',
required: false,
type: 'Bearer',
// maxAge: 31536000,
},
user: {
property: 'user',
autoFetch: false,
propertyName: false
},
endpoints: {
login: { url: '/login', method: 'post' },
logout: { url: '/logout', method: 'post' },
user: { url: '/user', method: 'get' }
}
}
}
},
Я решил проблему, установив required = true token
auth: {
cookie: { options: { secure: process.env.NODE_ENV == 'production' } },
redirect: {
login: '/login',
logout: '/',
callback: '/login',
home: '/dashboard'
},
strategies: {
local: {
token: {
property: 'token',
required: true,
type: 'Bearer',
maxAge: 31536000,
},
user: {
property: 'user',
// autoFetch: false
},
endpoints: {
login: { url: '/login', method: 'post' },
logout: { url: '/logout', method: 'post' },
user: { url: '/user', method: 'get' }
}
}
}
},