2009-12-10 29 views
29

Bir pop-up aracılığıyla twitter OAuth nasıl yapılacağını merak ediyordum, yani bir açılır pencerede Oauth sayfasını yükleyin ve geri arama penceresini kapatın ve ana pencereyi yeniden yükleyin.Twitter Bir popup aracılığıyla OAuth

Düzenleme: Tamam iframe'ler kötüyse, ancak yukarıdakileri nasıl gerçekleştirirsiniz, posterous.com'un bunu yaptıklarını fark ettim - FB bağlantısıyla aynı akışı elde etmek istiyorum.

cevap

61

... kimlik doğrulaması için twitter

  1. aç açılan
  2. gönder kullanıcının
  3. Heyecan mysite.com/authcompleted geri gönderdiğinde .php, sorgu dizesinde kimlik doğrulama parametreleriyle. Hala burada açılır pencerede.
  4. açılır (mysite.com/authcompleted.html) sorgu dizesini okur ve javascript

    window.opener.setTwitterAuthData (yourData)

  5. İçinde setTwitterAuthData aracılığıyla açacağı penceresine veri gönderir hangi Ana pencerenizde, uygun form alanlarını ayarlayın ve verileri sunucunuza gönderin.

+0

adresinden pecl oauth dll dosyasını bulabilirsiniz. Geri arama, mysite.com/authcompleted olduğunda, 3. pencerede hala nasıl olabilirsiniz. php? – Owen

+1

@mark Başlamak için yahoo'ya yöneltin, daha sonra yahoo, hala açılır pencerenin içinde yeniden yönlendiriyor, authcompleted.php – morgancodes

+0

için teşekkürler, mantıklı geliyor – Owen

5

Bunu yapmamalısınız. Bunu bir IFrame'e yüklemek, URL'yi kullanıcıyı gizler ve twitter.com adresinde ve üçüncü taraf (yani kimlik avı) sitesinde parola girmediklerini onaylamasını zorlaştırır.

+2

Prensipte hemfikirim, ancak yalnızca yetkilendirilmiş sayfa yok || Bu uygulama düğmelerini reddet - bu sizin şifrenizi istemiyor. Bu yüzden, UX akışına yardım ederken neden güvenlik açısından bir sorun olması gerektiğini göremiyorum. – MatthewFord

+4

Oturum açmadıysanız, şifrenizi sorar. –

+3

Oturum açmadığınız sayfadaki iframe busting JS, şifreniz için size soracaktır (satır 37) – MatthewFord

İlgili konular