Facebook yetkilendirmesi sorun

oy
3

Bir facebook uygulaması üzerinde çalışıyorum ve sadece kendi yetki sistemin nasıl çalıştığı hakkında anlayamıyorum şey var.

Bizim temel kurulum şudur

tuval URL = domain.com/facebook

Bu Flash Uygulamasını kadar hizmet veren bir HTML sayfası olan domain.com/facebook/app işaret eden bir FBML Iframe elemanı ile basit sayfası.

Flaş Uygulaması bizim uygulama sunucusundan ek veri istekleri - bu isteklerden bazıları (örneğin arkadaş listesi kimlikleri gibi) facebook verilerine isteyin.

Bu bir Facebook örneğini (kendi PHP kütüphanesi) oluşturur ve bunların API için gerekli çağrıyı yapar ve veri döndüren bir PHP sayfası - Yani Flaş sonra domain.com/resources/facebook/friends bir istekte bulunur.

Ancak, (flaş olarak) bu URL isteği doğrulamaz, bu nedenle daha sonra kendisi iki parametre ile benim tuval URL geri yönlendirir zaman sonra kendi giriş yönlendirilir - auth_token ve sonraki . Yani istek geçerli, ancak yönlendirme flaş çağrı kırar.

Yani, (kendileri Mace facebook API çağrıları ne zaman) dan facebook-vaildated edilmesi bu API çağrıları yapmak için nasıl anlamaya çalışıyorum olsun-go.

Oluştur 27/01/2009 saat 19:14
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
1

Tamam, bunu anladım.

Sonradan anlaşıldı ki, Flaş zaten yönlendirmeleri takip - Yapmam gereken tüm (varlığı ile belirtildiği izin isteği varken (kanvas: URL) algılamak oldu auth_token ve sonraki ) ve dahil bir GET parametresi olarak auth_token zaman Bir sonraki URL'ye yönlendirilir (temelde, orijinal istek üzerine auth_token yönünde).

Yani, yukarıda bahsedilen aksine, flaş çağrı kırmak ETMEDİ yönlendirme - bu yeterli veri yoktu Geçerli bir istek olması.

Cevap 27/01/2009 saat 21:55
kaynak kullanıcı

oy
1

") (Require_login" nin aşağıda yerine çizgi kodunu koyarak çözün

if (isset($_GET['auth_token'])) {
 $sess_data=$facebook->api_client->call_method('auth.getSession',array('auth_token'=>$_GET['auth_token']));
 $facebook->set_user($sess_data['uid'],$sess_data['session_key'],$sess_data['expires']);
 $user=$sess_data['uid'];
}
if (!$sess_data) {
 $user=$facebook->require_login();
}
Cevap 24/01/2010 saat 21:01
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more