コード例 #1
0
ファイル: GithubController.php プロジェクト: bbashy/LaraBin
 /**
  * Obtain the user information from GitHub.
  *
  * @return Response
  */
 public function handleProviderCallback()
 {
     $user = Socialite::driver('github')->user();
     if (auth()->guest()) {
         $exists = User::where('github_token', $user->token)->first();
         if (!$exists) {
             $username = static::usernameCheck($user->getNickname());
             $checkEmail = User::where('email', $user->getEmail())->first();
             $email = $checkEmail ? null : $user->getEmail();
             $name = trim($user->getName()) != '' ? $user->getName() : $username;
             $newUser = User::create(['github_token' => $user->token, 'name' => $name, 'username' => $username, 'email' => $email, 'verified' => true, 'settings' => []]);
             auth()->login($newUser, true);
             session()->flash('success', 'Successfully logged in!');
             return redirect()->route('home');
         }
         auth()->login($exists, true);
         session()->flash('success', 'Successfully logged in!');
         return redirect()->route('home');
     }
     $current = User::find(auth()->user()->getAuthIdentifier());
     $current->github_token = $user->token;
     $current->save();
     session()->flash('success', 'GitHub details updated successfully!');
     return redirect()->route('settings');
 }
コード例 #2
0
 public function create(Requests\Auth\RegisterUser $request, AppMailer $mailer)
 {
     $user = User::create(['username' => $request->input('username'), 'email' => $request->input('email'), 'password' => bcrypt($request->input('password')), 'settings' => []]);
     $user->emailVerification()->create(['token' => str_random(30), 'created_at' => Carbon::now()]);
     $mailer->sendEmailConfirmationTo($user);
     session()->flash('success', 'Account created successfully! You must verify your email!<br>May take up to 15 minutes. Be sure to check SPAM folder!');
     return redirect()->route('home');
 }