簡體   English   中英

無法通過身份驗證的用戶詳細信息進行查看

[英]Can't pass authenticated user details to view

驗證用戶身份后,傳遞用戶詳細信息時出現問題。 變量$newUser具有必需的信息,但是不能傳遞給user.index視圖。 我正在使用Laravel 5.1。

Route::get('user/home', ['as' => 'home', function () {
    return view('user.index');
}]);

Route::get('{provider}/login', function ($provider) {
   global $newUser;
   OAuth::login($provider, function ($user, $userdetails) {
       $newUser = $userdetails;
       $email = DB::table('users')->where('email', $newUser->email)->value('email');

    if( isset($email)) {
        echo "Welcome " . $newUser->full_name . " <br/>";
    }
    else {
        echo "New User! <br/>";
        $user->name = $newUser->full_name;
        $user->email = $newUser->email;
        $user->save();
    }
  });

    $newUser = (array) $newUser;

    return view('user.index', $newUser);
});

嘗試:

view('user.index', compact('newUser'));

只是想知道,為什么不使用控制器並使代碼更明確,以使您可以容易地理解從現在起6個月后返回編碼。 無論如何,如果您使用的是Auth外觀,則應該可以使用

Auth::user()

在視圖中檢索它,或嘗試查看OAuth類的可用方法。 或者,如果您想保持代碼不變,請嘗試

return view('user.index', compact('newUser'));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM