コード例 #1
0
 /**
  * Obtain the user information from Tokenpass.
  *
  * And sync it with our local database
  *
  * @return Response
  */
 public function sync(Request $request)
 {
     try {
         $logged_in_user = Auth::user();
         $oauth_user = null;
         if ($logged_in_user['oauth_token']) {
             $oauth_user = Socialite::getUserByExistingToken($logged_in_user['oauth_token']);
         }
         if ($oauth_user) {
             $tokenly_uuid = $oauth_user->id;
             $oauth_token = $oauth_user->token;
             $username = $oauth_user->user['username'];
             $name = $oauth_user->user['name'];
             $email = $oauth_user->user['email'];
             $email_is_confirmed = $oauth_user->user['email_is_confirmed'];
             // find an existing user based on the credentials provided
             $existing_user = User::where('tokenly_uuid', $tokenly_uuid);
             if ($existing_user) {
                 // update
                 $existing_user->update(['name' => $name, 'email' => $email]);
             }
             $synced = true;
         } else {
             // not able to sync this user
             $synced = false;
         }
         return view('account.sync', ['synced' => $synced, 'user' => $logged_in_user]);
     } catch (Exception $e) {
         return view('account.sync-failed', ['error_msg' => 'Failed to sync this user.']);
     }
 }