我正在使用 Vue 和 Laravel Sanctum 来处理登录。这是我的 html 表单
<form action="#" @submit.prevent="handleLogin">
<input type="text" v-model="form.email">Name<br/>
<input type="text" v-model="form.password">Password<br/>
<button>Submit</button><br/>
</form>
这是用于处理登录的方法
handleLogin () {
axios.get('/sanctum/csrf-cookie').then(response => {
axios.post('/login', this.form).then(response => {
this.logged_in = true
})
});
}
因此,这确实处理了登录,但除非我刷新页面,否则我无法获取经过身份验证的用户的详细信息,我不想这样做。
为了试图规避这个问题,我将经过身份验证的用户的详细信息从我的控制器传递到我的视图
$auth_user = Auth::user();
return view('maintenance.contractor_maintenances', compact('auth_user'));
然后在我看来,我将它作为道具传递给我的 Vue 组件
<app-contractors-maintenance :auth_user="{{ json_encode($auth_user) }}"/>
在我的组件中
props: {
auth_user: {
required: true,
}
}
但是当我{{ auth_user }}
在我的组件中时,它也仅在页面刷新时才有效,并且我希望在使用 Sanctum 登录后立即更新这些身份验证详细信息。帮助将不胜感激。