【发布时间】:2011-03-06 04:29:18
【问题描述】:
我想将 facebook 与我的 Ruby on Rails 应用程序集成。 facebook 登录应该是在网站上注册的唯一方式。
我需要从 facebook 获取的信息是用户的姓名和头像。
你建议我使用什么宝石/插件? (我假设我需要一个用于身份验证的 gem,以及一个用于 facebook 集成的 gem)
谢谢,
奥德
【问题讨论】:
我想将 facebook 与我的 Ruby on Rails 应用程序集成。 facebook 登录应该是在网站上注册的唯一方式。
我需要从 facebook 获取的信息是用户的姓名和头像。
你建议我使用什么宝石/插件? (我假设我需要一个用于身份验证的 gem,以及一个用于 facebook 集成的 gem)
谢谢,
奥德
【问题讨论】:
我发现在 Omniauth 的帮助下进行 Devise 相当有效。只要比我多一点耐心,您就可以只使用 Omniauth 来解决问题。
devise version that you would need lives on GitHub,从当前版本开始,您还需要 github 版本的 omniauth。
来自我的 gemfile:
gem 'devise', :git => 'https://github.com/plataformatec/devise.git'
#oath enables facebook login, for one
gem 'omniauth', :git => 'https://github.com/intridea/omniauth.git'
gem 'oa-oauth', :require => "omniauth/oauth"
#openid enables google login, and openid generally
gem 'oa-openid', :require => 'omniauth/openid'
这里有一个不错的教程,介绍了将 Devise 与 Facebook 一起使用的一种可能方式: https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview
Facebook 将返回一个电子邮件地址以及上面链接中提供的示例代码;我想你也可以向它索要个人资料图片,尽管我还没有深入研究授权 API。
【讨论】:
devise/omniauth 可用于身份验证。 或者看这里:Rails 3 facebook plugin/gem?
要与 facebook API 交互,您需要 http://facebooker.rubyforge.org/
【讨论】: