通过Facebook Connect Android验证用户

时间:2011-06-15 18:51:24

标签: android facebook

目前,在我们的网站上,我们允许用户使用graph api登录/注册其Facebook凭据。我们正在创建一个移动应用程序,我们也希望支持使用Facebook登录。我知道Facebook Android SDK以及如何检索访问令牌,我的问题是:

  1. 一旦我拥有了facebook访问令牌,我该如何使用我们的后端系统对用户进行身份验证。
  2. 一个想法是将access_token传递给我的后端服务器并查询用户的facebook id(我不想传递facebook id,因为有人可以欺骗请求)。现在使用facebook id我可以将它与我们的用户ID相关联并将用户登录。

    1. 此方法是否有效,或者有其他解决方案

1 个答案:

答案 0 :(得分:3)

我上面描述的方法效果很好。以下是摘要:

  1. Facebook通过iPhone应用程序连接
  2. 在手机上检索fb访问令牌
  3. 将fb访问令牌发送到Rails服务器
  4. 您正在使用的控制器将检查fb参数并查询用户信息

    控制器的外观示例

  5.   if params[:fb_access_token]
        @graph = Koala::Facebook::GraphAPI.new(params[:fb_access_token])
        @me = @graph.get_object("me")  
        if profile = Profile.find_by_facebook_uid(@me["id"])
          user = profile.user
          render :text => user.access_token
        else
          render :text => "unregistered", :status => 401 and return
        end
      else