У меня есть интерфейс командной строки Vue, поэтому я пытаюсь использовать Laravel Passport для обработки запросов аутентификации.
https://laravel.com/docs/5.7/passport#consuming-your-api-with-javascript
У меня есть api/login
маршрут, который выполняет следующие действия ( почти скопировано и вставлено отсюда):
public function login(){
if(Auth::attempt(['email' => request('email'), 'password' => request('password')])){
$user = Auth::user();
$success['token'] = $user->createToken('MyApp')->accessToken;
return response()->json(['user' => $user], $this->successStatus);
}
else{
return response()->json(['error'=>'Unauthorised'], 401);
}
}
После того, как я попал в него с запросом AJAX, пользователь успешно вошел в систему.
Но если я сделаю что-то подобное в своем действии Vue:
login({commit, dispatch}, {email, password}){
axios.post('/api/login', {
email, password
}).then( response => {
console.log("Check login was successful", response.data);
commit('setUser', response.data);
axios.get("/api/user").then(response => {
console.log("Still logged in:", response);
});
});
На консоли написано следующее:
Check login was successful {user: {…}}
GET http://localhost:8080/api/user 401 (Unauthorized)
Документы Laravel говорят, что ...
Это промежуточное ПО Passport будет прикреплять файл cookie laravel_token к вашим исходящим ответам.
Что я делаю не так / как мне получить доступ к этому laravel_token
для будущих запросов?