/** * Handle the callback from GitHub. * * @return \Illuminate\Http\RedirectResponse */ public function handleCallback() { $user = app(LoginProvider::class)->user(); $username = array_get($user, 'login'); $name = Str::name(array_get($user, 'name') ?: $username); $this->dispatch(new LoginCommand((int) $user['id'], $name, $username, array_get($user, 'email'), array_get($user, 'token'))); if (count(app(RepoRepository::class)->allByUser(Auth::user())) > 0) { return Redirect::route('home'); } return Redirect::route('account'); }
/** * Handle the callback from GitHub. * * @return \Illuminate\Http\RedirectResponse */ public function handleCallback() { $user = app(LoginProvider::class)->user(); $username = array_get($user, 'login'); $name = Str::name(array_get($user, 'name') ?: $username); $email = array_get($user, 'email'); $allowFor = config('auth.allow_for'); if (!in_array($email, $allowFor)) { throw new CannotAccessEmailsException('Access denied for user with ' . $email . ' email.'); } $this->dispatch(new LoginCommand((int) $user['id'], $name, $username, array_get($user, 'email'), array_get($user, 'token'))); if (count(app(RepoRepository::class)->allByUser(Auth::user())) > 0) { return Redirect::route('home'); } return Redirect::route('account'); }