Я пытаюсь использовать Laravel sanctum с Nuxt JS. Проблема в том, что я могу передать команду get csrf и войти в систему, но когда я пытаюсь получить доступ к api / user, я получаю сообщение «Неавторизовано». Они говорят, что я должен установить SESSION_DRIVER на приготовление ie, но он все тот же. Я использую xampp, поэтому я запускаю laravel на localhost: 8000 и nuxt js на localhost: 3000 . Заранее благодарим.
Laravel API
.env
SESSION_DRIVER=cookie
SESSION_LIFETIME=120
SESSION_DOMAIN=localhost
SANCTUM_STATEFUL_DOMAINS=localhost
config / cors
'paths' => [
'api/*',
'/login',
'/logout',
'/sanctum/csrf-cookie'
],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => true,
api. php
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
NUXT JS
nuxt.config. js
axios: {
baseURL: "http://localhost:8000/",
credentials: true
},
auth: {
redirect: {
login: '/login',
logout: '/',
callback: '/login',
home: '/'
},
strategies: {
local: {
endpoints: {
login: { url: '/login', method: 'post', propertyName: false },
user: { url: '/api/user', method: 'get', propertyName: false }
},
tokenRequired: false,
tokenType: false
}
},
localStorage: false
},
Логин. vue
export default {
data(){
return{
email:'',
password:''
}
},
components: {
},
methods:{
login(){
this.$axios.get('/sanctum/csrf-cookie', {
headers: {
'X-Requested-With': 'XMLHttpRequest'
},
withCredentials: true,
})
.then( function(){
this.$auth.loginWith('local', {
data: {
email: this.email,
password: this.password
},
});
}.bind(this))
}
},
mounted(){
}
}
</script>