我的模態彈出視窗上有這個鏈接
<li><a href="{ route('auth/google') }}" target="_blank">< i class="fab fa-google-plus-g" > </i></a> </li>
和路線是
Route::get('google', 'SocialiteAuthController@googleRedirect')-> name('auth/google') 。
Route::get('/auth/google-callback', 'SocialiteAuthController@loginWithGoogle') 。
Services.php
'google' => [
'client_id' => 'XXXXXXXXXXXXX.app.googleusercontent.com'。
'client_secret' => 'XXXXXXXXXXXX',
'redirect' => 'http://localhost:8000/login/google/callback',
],
控制器:
<?php
namespace AppHttpControllers。
使用 AppHttpControllersController。
使用 IlluminateHttpRequest。
use AppUser;
use Socialite;
use IlluminateSupportFacadesAuth;
use Exception;
class SocialiteAuthController extends Controller
{
public function googleRedirect()
{
return Socialite::driver('google')->redirect()。
}
/***。
* Facebook登錄認證
*
* @return void
*/
public function loginWithGoogle()
{
try{
$googleUser = Socialite::driver('google'/span>)->user()。
$user = User::where('google_id', $googleUser-> id)->first();
if($user){
Auth::login($user)。
return redirect('/home')。
}
else{
$createUser = User::create([
'name' => $googleUser-> name,
'email' => $googleUser->email。
'fb_id' => $googleUser->id。
'password' => encrypt('test@123')
]);
Auth::login($createUser)。
return redirect('/home')。
}
} catch (Exception $exception) {
dd($exception->getMessage())。
}
}
}
保護 :
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'user',
],
'user' => [
'driver' => 'session'。
'provider' => 'user',
],
但是當我登錄時,我得到這個頁面404沒有找到
。任何解決方案,謝謝
uj5u.com熱心網友回復:你在路由檔案中有一個錯字
Route::get('/auth/google-callback', 'SocialiteAuthController@loginWithGoogle') 。
但是你定義了
http:/localhost:8000/login/google/callback。
那么這個路由必須與你在重定向url和google api設定中定義的路由相同。將路由的方法改為你定義的方法
Route::get('/login/google/callback'/span>, 'SocialiteAuthController@loginWithGoogle'/span>) 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/320598.html
標籤:


