![](/img/trans.png)
[英]Laravel Socialite - handleProviderCallback() method not showing stored session
[英]Laravel socalite - handleProviderCallback is never triggered
我正在嘗試通過Facebook登錄用戶,然后使用該用戶數據在評論表單中填寫姓名和電子郵件。
我正在使用Laravel / Socialite
。
所以在我的LoginController
我有這個:
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Socialite;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
public function redirectToProvider()
{
return Socialite::driver('facebook')->redirect();
}
public function handleProviderCallback()
{
$user = Socialite::driver('facebook')->user();
return redirect()->route('blog');
// $user->token;
}
}
通過在兩個方法中都使用斷點,我得出的結論是handleProviderCallback
方法實際上由於某種原因從未觸發過。
為了明確handleProviderCallback
, redirectToProvider
被觸發並且可以正常工作,它確實通過Facebook登錄了我,但是handleProviderCallback
方法從不觸發,因此我無法獲取用戶數據。
首先請檢查您的函數定義是否錯誤
public function public function handleProviderCallback(Request $request)
{
並在會話中存儲數據,您也可以使用
Session::put(['key' => 'value']);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.