Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers\Auth;
  4.  
  5. use App\Http\Controllers\Controller;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Lang;
  8. use Socialite;
  9. use App\User;
  10. use Illuminate\Validation\ValidationException;
  11. use Illuminate\Foundation\Auth\AuthenticatesUsers;
  12.  
  13. class LoginController extends Controller
  14. {
  15. /*
  16. |--------------------------------------------------------------------------
  17. | Login Controller
  18. |--------------------------------------------------------------------------
  19. |
  20. | This controller handles authenticating users for the application and
  21. | redirecting them to your home screen. The controller uses a trait
  22. | to conveniently provide its functionality to your applications.
  23. |
  24. */
  25.  
  26. use AuthenticatesUsers;
  27.  
  28. /**
  29. * Where to redirect users after login.
  30. *
  31. * @var string
  32. */
  33. protected $redirectTo = '/admin/home';
  34.  
  35. /**
  36. * Create a new controller instance.
  37. *
  38. * @return void
  39. */
  40. public function __construct()
  41. {
  42. $this->middleware('guest')->except('logout');
  43. }
  44. protected function sendFailedLoginResponse(Request $request)
  45. {
  46. throw ValidationException::withMessages([
  47. $this->username() => [trans('auth.failed')],
  48. ])->redirectTo('/admin/login');
  49. }
  50. public function redirect($provider) {
  51. return Socialite::driver($provider)->redirect();
  52. }
  53. public function callback($provider) {
  54. $getInfo = Socialite::driver($provider)->user();
  55. $user = $this->updateUser($getInfo, $provider);
  56. auth()->login($user);
  57. return redirect()->to('/admin/home');
  58. }
  59. function updateUser($getInfo, $provider) {
  60. $user = User::where('provider_id', $getInfo->id)->first();
  61. if(!$user) {
  62. $user = User::where('email', $getInfo->email)->update(array('provider' => $provider, 'provider_id' => $getInfo->id));
  63. }
  64. return $user;
  65. }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement