Laravel Vue spa获取当前身份验证用户详细信息

时间:2020-10-21 23:55:47

标签: javascript html laravel vue.js laravel-sanctum

我正在使用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后立即更新这些身份验证详细信息。帮助将不胜感激。

0 个答案:

没有答案