Laravel护照未经验证的信息



我已经用这个碰壁一段时间了,只是我不知道问题出在哪里。所以我有后端Laravel和前端Vue;登录是可以的,我得到令牌,但当我使用auth:api进入其中一条路线时,我得到"message":"Unauthenticated."。我在前面保存令牌,所以我应该把它和任何请求一起发送到后端还是有其他方法?

LoginController.php

public function login(Request $request)
{
$login = $request->validate([
'email' => 'required',
'password' => 'required',
]);
if(Auth::attempt($login))
{
return response(['message' => 'Invalid login']);
}
$user = User::where('email', $request->email)->first();
$accessToken = $user->createToken('Laravel Password Grant Client')->accessToken;
return response()->json(['user' => $user, 'access_token' => $accessToken]);
}

api.php

Route::namespace('\')->middleware('auth:api')->group(function(){
Route::resource('budget', BudgetController::class);
});

user.js


const state = {
token: localStorage.getItem('access_token') || null,
isAuthenticated: localStorage.getItem('access_token') !== null
}
const getters = {
isAuthenticated: state => state.isAuthenticated
}
const actions = {
async retrieveToken({commit}, payload){
console.log(payload)
const response = axios.post(url + '/login', payload)
.then(response => {
const token = response.data.access_token
localStorage.setItem('access_token', token)
commit('setToken', token)
})
}
}
const mutations = {
setToken: (token) => state.token = token
}

好吧,简单地说,在我的第二个模块中,我使用令牌作为标题,如下所示:


const state = {
budget: [],
header: {
headers: {
Authorization: `Bearer ${localStorage.getItem("access_token") || null}`,
withCredentials: true,
"Access-Control-Allow-Origin": "*"
},
}
};

const getters = {
allBudget: (state) => state.budget,
};
const actions = {
async fetchBudget({ commit, state }) {
const response = await axios.get(url, state.header);
console.log(state.header);
commit("setBudget", response.data);
},
};

在那之后,我得到了CORS错误,所以我需要在文件xamp\apache\conf\httpd.conf 的末尾添加两个指令

Header Set Access-Control-Allow-Origin * 
Header Set Access-Control-Allow-Headers * 

最新更新