2012-10-30 12 views
6

Mam już autoryzację użytkownika w mojej aplikacji na Facebooku przy użyciu HybridAuth i zapisałem jego access_token w mojej bazie danych.Dostęp "offline" za pomocą HybridAuth

Kilka dni później, gdy użytkownik nie jest online, chcę uzyskać jego nowych znajomych na Facebooku, również przy użyciu HybridAuth.

Czy mogę "odtworzyć" tego użytkownika z jego access_token, aby uzyskać jego przyjaciół, wysłać powiadomienia, itp.?

Dzięki!

Odpowiedz

7

W końcu znalazłem hakera, który działa, zostawię go tutaj dla następnego faceta, który go szuka. Jeśli upewnij się, że masz ważny znak dla użytkownika i aplikacji, HybridAuth nie należy próbować przekierować lub zwrócić wszelkie błędy

(używam CodeIgniter, ale przełożenie go do „czystej” HybridAuth powinna być prosta:

$token = "GET A TOKEN IN Facebook's API EXPLORER"; 
    $this->load->library('HybridAuthLib'); 
    $this->hybridauthlib->storage()->set("hauth_session.facebook.is_logged_in", 1); 
    $this->hybridauthlib->storage()->set("hauth_session.facebook.token.access_token", $token);   
    $service = $this->hybridauthlib->authenticate('Facebook'); 

    if ($service->isUserConnected()){ 

     $user_profile = $service->getUserProfile(); 
     $contacts = $service->getUserContacts(); 
     $access_token = $service->getAccessToken(); 

     var_dump($user_profile); 
     var_dump($contacts); 
     var_dump($access_token); 

    }else{ 
     echo "something went wrong"; 
    } 
+0

nie jesteś przesłanianie prąd zalogowany tokenów autora OAuth za (tj jeden przeglądający stronę profilu)? A może po prostu ustawiasz tokeny dostępu wewnętrznie dla HybridAut h działać? Metoda IIRC 'authenticate()' ustawia dane sesji dla użytkownika po zakończeniu - czy nie powoduje to MAJORu w dziale bezpieczeństwa w twojej aplikacji internetowej? Pomocne może być wyjaśnienie; Mam podobny problem. Dzięki – Abdulaziz

+0

używam tego w procesie po stronie serwera (obsługiwanym przez crona), którego używam do asynchronicznego publikowania akcji przechowywanych w bazie danych, nie ma zalogowanego użytkownika - nie jest on dostępny dla użytkowników. Jeśli byłby dostępny przez przeglądarkę, zachowanie byłoby tym, co mówisz – Marc

+0

Użyłem tego do pracy z tokenami pobranymi za pomocą interfejsu javascript. Działa z resztą dostawców usług społecznościowych, np. Google Plus itd. Bardzo dziękuję za Twój wpis. – Lucia

Powiązane problemy