2012-10-30 17 views
6

HybridAuth kullanarak Facebook uygulamasında bir kullanıcıya yetki verdim ve veri tabanımdaki access_token dosyasını sakladım.'Offline' erişimi

Günler sonra, kullanıcı çevrimiçi olmadığında, yeni Facebook arkadaşlarına HybridAuth'u da kullanmak istiyorum.

Bu kullanıcıyı access_token'dan arkadaşlarını almak, bildirim göndermek vb.

Teşekkürler!

cevap

7

Sonunda çalışan bir hack bulduğumda, onu arayan sıradaki adam için burada bırakacağım. Eğer kullanıcı ve uygulama için geçerli bir belirteç olduğundan emin yaparsanız, HybridAuth yönlendirmek ya da herhangi bir hataları dönmek çalışmamalıdır

(ı basit olmalıdır CodeIgniter kullanarak, ancak 'saf' HybridAuth bunu tercüme ediyorum:

$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

değil misin geçerli (kullanıcının OAuth en jeton oturum geçersiz kılma yani ya da profil sayfasını görüntüleyen biri?) Ya da sadece HybridAut için dahili olarak erişim belirteçleri ayarlıyorsunuz h üzerinde çalışmak için? IIRC 'authenticate()' yöntemi, tamamlandığında kullanıcı için oturum verilerini ayarlar - web uygulamanızda MAJOR güvenlik açıklarına neden olmaz mı? Bir clarifcation yardımcı olabilir; Benzer bir sorunla karşı karşıyayım. Teşekkürler – Abdulaziz

+0

Bunu bir veritabanında saklanan eylemleri eşzamansız olarak yayımlamak için kullanıyorum (cron tarafından işlenen) bir sunucu tarafı işleminde kullanıyorum, oturum açmış bir kullanıcı yok - kullanıcılar için erişilebilir değil. Eğer tarayıcı üzerinden erişileceksek, davranış – Marc

+0

dediğiniz olacaktır, bunu javascript arabirimiyle alınan jetonlarla çalışmak için kullandım. Sosyal hizmet sağlayıcıların geri kalanıyla da çalışır, örneğin, google plus, vb. Gönderiniz için çok teşekkür ederim. – Lucia