Skip to content

Commit

Permalink
version2 update
Browse files Browse the repository at this point in the history
  • Loading branch information
GetSwastik authored and GetSwastik committed Sep 10, 2019
1 parent 9b00ecf commit 4e32e61
Show file tree
Hide file tree
Showing 4 changed files with 82,567 additions and 51 deletions.
60 changes: 18 additions & 42 deletions app/Http/Controllers/Auth/LoginController.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

namespace App\Http\Controllers\Auth;

use Laravel\Socialite\Facades\Socialite;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Auth;
use App\User;
use Laravel\Socialite\Facades\Socialite;

class LoginController extends Controller
{
Expand All @@ -21,7 +21,6 @@ class LoginController extends Controller
| to conveniently provide its functionality to your applications.
|
*/
use Socialite;
use AuthenticatesUsers;

/**
Expand Down Expand Up @@ -54,50 +53,27 @@ public function redirectTo()

// Social Login

public function redirectToProvider($provider){
return Socialite::driver($provider)->redirect();
}

public function handleProviderCallback($provider)
{
try{
$user = Socialite::driver($provider)->user();
} catch (Exception $e) {
return redirect('/login');
}

$authUser = $this->findOrCreateUser($user, $provider);

Auth::login($authUser, true);
return redirect('/');
public function redirectToProvider(){
return Socialite::driver('google')->redirect();
}

public function findOrCreateUser($socialUser, $provider)
public function handleProviderCallback()
{
$socialAccount = SocialAccount::where('provider_id', $socialUser->getId())
->where('provider_name', $provider)
->first();
if($socialAccount){
return $socialAccount->user;
} else {
$user = User::where('email', $socialUser->getEmail())->first();

if(! $user) {
$user = User::create([
'name' => $socialUser->getName(),
'email'=> $socialUser->getEmail()
]);
$user = Socialite::driver('google')->user();

$dbUser = User::where('email', $user->email)->first();

if($dbUser){
\Auth::login($dbUser);
return redirect('/');
} else {
// register new user
$user = new User;
$user->name = $user->name;
$usre->email = $user->email;
$user->password = bcrypt('password');
$user->save();
}

$user->socialAccounts()->create([
'provider_id' => $socialUser->getId(),
'provider_name' => $provider
]);

return $user;

}

}


Expand Down
10,890 changes: 10,884 additions & 6 deletions public/css/app.css

Large diffs are not rendered by default.

71,664 changes: 71,663 additions & 1 deletion public/js/app.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@
Auth::routes();

// Social Login Routes
Route::get('auth/{provider}', 'Auth\LoginController@redirectToProvider');
Route::get('auth/{provider}/callback', 'Auth\LoginController@handleProviderCallback');
Route::get('login/google', 'Auth\LoginController@redirectToProvider');
Route::get('login/google/callback', 'Auth\LoginController@handleProviderCallback');


Route::get('/logout', 'Auth\LoginController@userLogout')->name('user.logout');
Expand Down

0 comments on commit 4e32e61

Please sign in to comment.