Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers\Auth;
- use App\Http\Controllers\Controller;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Lang;
- use Socialite;
- use App\User;
- use Illuminate\Validation\ValidationException;
- use Illuminate\Foundation\Auth\AuthenticatesUsers;
- 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 = '/admin/home';
- /**
- * Create a new controller instance.
- *
- * @return void
- */
- public function __construct()
- {
- $this->middleware('guest')->except('logout');
- }
- protected function sendFailedLoginResponse(Request $request)
- {
- throw ValidationException::withMessages([
- $this->username() => [trans('auth.failed')],
- ])->redirectTo('/admin/login');
- }
- public function redirect($provider) {
- return Socialite::driver($provider)->redirect();
- }
- public function callback($provider) {
- $getInfo = Socialite::driver($provider)->user();
- $user = $this->updateUser($getInfo, $provider);
- auth()->login($user);
- return redirect()->to('/admin/home');
- }
- function updateUser($getInfo, $provider) {
- $user = User::where('provider_id', $getInfo->id)->first();
- if(!$user) {
- $user = User::where('email', $getInfo->email)->update(array('provider' => $provider, 'provider_id' => $getInfo->id));
- }
- return $user;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement