laravel fortify登录后如何获取用户信息

How to get user information after login in laravel fortify

我在单页 Vue 应用程序中使用 laravel fortify。当我向 sitePath + '/login' 发送 XHR 请求时,我得到 {two_factor: false} 响应并且用户已登录。我如何添加用户信息以便将数据保存在本地存储中。

let response = await this.$root.requestPost(data, url);
async requestPost(data, requestUrl) {
    const response = await axios.post(requestUrl, {
        // ...data
    }).catch(error => {
        //
    });
    return response;
},

抱歉回答晚了。

但是今天我解决了同样的问题

在 FortifyServiceProvider 的 register() 方法中,您需要实现自己的 LoginResponse:

$this->app->instance(LoginResponse::class, new class implements LoginResponse {
        public function toResponse($request)
        {
            /**
             * @var User $user
             */
            $user = $request->user();
            return $request->wantsJson()
                ? response()->json(['two_factor' => false, 'email' => $user->email ])
                : redirect()->intended(Fortify::redirects('login'));
        }
    });

文档 - https://laravel.com/docs/8.x/fortify#customizing-authentication-redirects