Facebook登录Ruby on Rails应用程序

Mar*_*lmi 5 sdk facebook ruby-on-rails facebook-graph-api

我正在使用带有JavaScript的Facebook flogin按钮开发Ruby on Rails应用程序.

我的代码:*

<fb:login-button perms="email" onlogin="createFbSession();"></fb:login-button>

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js">
</script>

<script>
    FB.init({
        appId:"xxxxxxx", cookie:true,
        status:true, xfbml:true
    });
    function createFbSession() {
        FB.getLoginStatus(function(response) {
            if (response.session) {
                window.location = "<%= fb_login_path %>";
            }
        });
    }
</script>
Run Code Online (Sandbox Code Playgroud)

当我点击flogin按钮时,有时我会在弹出窗口中收到以下错误:

发生错误.请稍后再试.

这是什么意思?

Arc*_*ath 2

你可以使用omniauth,它可以让你在ruby中使用facebook/twitter/openid等,而不必使用从facebook链接的js库。

Railscasts 有一个关于简单 onmiauth 设置的精彩剧集,非常值得一看,因为omniauth 为所有提供商返回类似的数据,只需将 twitter 更改为 facebook 就可以了。

Omniauth 还允许在同一登录系统中使用多个提供商,因为有些人(包括我自己)更喜欢使用 Twitter,因此强制 Facebook 登录会让我望而却步。