SORU
20 Aralık 2010, PAZARTESİ


Omniauth facebook bir pop-up içine oturum açın

Raylar ile omniauth gem kullanıyorum ve kullanıcı loging ile harika çalışıyor, ama her seferinde oturum açma sayfasında yönlendirir, fb götürür. Eğer en sayfaları ne yapacağız ve bir pop-up içinde fb login göstermek için bir yol olup olmadığını merak ediyordum ve o tamamlandıktan sonra üst div reload. Herhangi bir fikir?

Teşekkürler!

CEVAP
29 Aralık 2010, ÇARŞAMBA


Emin, sen-ebilmek kolayca.

Sizin bakış:

=link_to "Log in with Facebook", omniauth_authorize_path(:user, :facebook), :class => "popup", :"data-width" => 600, :"data-height" => 400

Application.js:

function popupCenter(url, width, height, name) {
  var left = (screen.width/2)-(width/2);
  var top = (screen.height/2)-(height/2);
  return window.open(url, name, "menubar=no,toolbar=no,status=no,width=" width ",height=" height ",toolbar=no,left=" left ",top=" top);
}

$("a.popup").click(function(e) {
  popupCenter($(this).attr("href"), $(this).attr("data-width"), $(this).attr("data-height"), "authPopup");
  e.stopPropagation(); return false;
});

Ve geri arama görünümü:

:javascript
  if(window.opener) {
    window.opener.location.reload(true);
    window.close()
  }

Bu merkezli 600x400 bir popup Facebook sizin auth çıkageleceğini, kullanıcı kimlik doğrulaması döndüğünde, görünümü açılır penceresini kapatmak ve ana sayfayı yenile. Kullanıcı ctrl-tıklama bağlantısını düşürür, incelikle, ya da Javascript etkin değil.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Michael Neal

    Michael Neal

    2 Mayıs 2009
  • Professor Messer

    Professor Me

    27 NİSAN 2007
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010