public function login(Request $request)
 {
     $userId = $request->input('userId');
     $userToken = $request->input('userToken');
     if ($userId && $userToken) {
         // both params not null
         try {
             $response = FacebookUtil::getInstance()->getDebugToken($userToken);
         } catch (RequestException $e) {
             //var_dump( $e->getResponse() );
             return response()->json(['message' => trans('auth.facebook_request_failed')], 500);
         }
         if ($response->getStatusCode() == 200) {
             $data = json_decode($response->getBody()->getContents())->data;
             if ($data->app_id == config('app.facebook_app_id') && $data->is_valid && $data->user_id == $userId) {
                 // token is valid
                 Auth::login(User::getUserById($userId));
                 return response()->json(['message' => trans('auth.logged_in')], 200);
             } else {
                 return response()->json(['message' => trans('auth.failed')], 401);
             }
         }
         return response()->json([], 200);
     }
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $params = ['limit' => 50, 'access_token' => 'CAANxxasX2V4BAL0sFmBtGaw3QDFzeXrJEsxss2r6mX2oO41Q6nUtpED6VQyZBMEZC8JfRHXGVdZAmCdZADavisXXQ9w5Ajy4rAZBvZAyF6FoyBf8xqGBRIPUpnQOX1CgDGbIU3bFzxd2rlGM9cfqUP5wgOdtXZCZAi0inAgjZC8ZBR0kJ0FVnOPzgMNsPTtytenl85ZCTVIsV0ZCktuI3NjNrtnG'];
     $response = FacebookUtil::getInstance()->rawGraphRequest('GET', '331733603546959/members', $params);
     $members = json_decode($response->getBody()->getContents());
     for ($offset = 50; !empty($members->data); $offset += 50) {
         foreach ($members->data as $member) {
             DB::table('users')->insert(['name' => $member->name, 'facebook_id' => $member->id]);
         }
         $params['offset'] = $offset;
         $response = FacebookUtil::getInstance()->rawGraphRequest('GET', '331733603546959/members', $params);
         $members = json_decode($response->getBody()->getContents());
     }
 }
示例#3
0
 public static function firstOrCreate(array $attributes)
 {
     $user = parent::firstOrCreate($attributes);
     // should update the database with some info when creating
     // if( !$user->name ) {
     // always updates the name,
     try {
         $response = FacebookUtil::getInstance()->graphRequest('GET', $attributes['facebook_id']);
         if ($response->getStatusCode() == 200) {
             $user->name = json_decode($response->getBody()->getContents())->name;
             $user->save();
         }
     } catch (RequestException $e) {
         return response()->json(['message' => trans('auth.facebook_request_failed')], 500);
     }
     // }
     return $user;
 }