Bir Facebook oturumu PHP / sunucudan süresi dolmamış bağlamak olmadığını nasıl tespit edersiniz?

2 Cevap php

Bir Facebook Connect oturumu sunucu tarafında geçerli olup eğer benim uygulama için bilmek gerekir.

JavaScript API Facebook ya bağlı olmadığını bilmenizi sağlar, ancak bu PHP istemci kütüphaneden yapılamaz gibi görünüyor.

Ben gerek senaryo aşağıdaki benzer:

  1. The Run Around Facebook connect ile oturum açın.
  2. Açık Facebook başka bir sekmede.
  3. Facebook sekmesinde (Çevresi koşmak değil) dan çıkış yapın.
  4. Geri sekme Çevresi Run gidin.
  5. Yeni bir giriş, ama "Facebook bu çalışma Yayınla" onay kutusunu devre dışı bırakmak.

Eğer önce açmış olsa formunu gönderdikten sonra çalıştırmak yayınlanan alacak! JavaScript API durumunuzu doğrulamak için çalışacağız çünkü bu çağrısının ardından, site size dışarı oturum olacaktır.

5. adımda, uygulama oturum süresi dolmuş veya olmadığı takdirde Facebook ile kontrol (ya da geçici bir çözüm kullanın) gerekir. Çevresi Run Bağlan uygulanması hatalı olduğunu ve bu nedenle güvenlik sorunu bir örnek olarak kullanılmamalıdır.

2 Cevap

Bir arkadaşım bana bir oturum geçerli olup olmadığını bilmek şekilde anlattı:

http://wiki.developers.facebook.com/index.php/Users.getLoggedInUser

Bu yöntem bir parametre olarak oturum anahtarını kullanır ve kullanıcı kimliği döndürür. Oturum süresi doldu, bir hata kodu döndürülür.

NOT:

Zombat söylediği gibi I won't use this Benim uygulamada, benim app kendi oturumu tutmalı. Ben Digg ne yapacağız: in günlüğü ile tutarlı olması ve birisi Facebook'ta oturum açtığında otomatik olarak ve çıkıyor değil tarafından prosedürü oturum açın.

Uygulama sunucu tarafı oturumu kontrol etmez özellikle çünkü, Run Çevresi otomatik olarak her şeyi yapmaya çalışan, ancak sorunludur.

Ben durumun sizin analiz anlamakla birlikte, bu aslında doğru bir davranıştır.

Run Çevresi olması gerektiği gibi, Facebook tamamen ayrı olduğu anlamına gelir, bir Facebook Connect sitedir. Eğer sitede Çevresi Run için FB hesabınızı bağlamak için FB Connect kullanırken, veritabanı Çevresi Run sizin için local session and account kurar. Bu Çevresi ile Run için giriş ne teknik olarak. Bu olunca Run Çevresi Facebook sizin hakkınızda bilgi almak istediği sürece, Facebook oturum tamamen ilgisizdir.

İsterseniz Facebook yakın bağlantı ile bir FB Connect sitesine sağlamak için seçenekler vardır. Detecting Connect Status ve bu konuda daha fazla bilgi için FB.init() parametreleri bakın. Run Çevresi onu artık Facebook'ta oturum açmış olduğunu algılarsa kez yerel oturumun bir logout zorlamak için bu kullanmıştır. Bir sayfa değiştirme veya eylem olur ve JavaScript FB oturum durumunu doğrulamak için çalışır Ancak, bir kez bu yalnızca oluşur.

Nasıl bu tüm çalışmaların genel etkisi Facebook Connect siteleri yerel kullanıcılarını yönetmek yeteneği korumak ve gerekli ve / veya olası yalnızca Facebook özelliklerini kullanmak olduğunu.