用户的facebook信息在会话控制中进行身份验证后恢复

时间:2012-07-19 10:29:02

标签: facebook-graph-api omniauth parse-platform

我正在使用omniauth通过facebook(facebook登录)登录用户。 这发生在会话控制器中。我的后端数据库由parse.com处理,基本上它提供了一个只存储

的authdata字段
"id": "user's Facebook id number as a string",
    "access_token": "an authorized Facebook access token for the user",
    "expiration_date": "token expiration date of the format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"

一旦存储了所有这些信息,用户就会被导向他的个人资料,我想显示用户的Facebook显示图片,我不知道该怎么做。 我的session_controller看起来像这样

def createfb

    auth = request.env["omniauth.auth"]
    user = User.authenticate_with_facebook(auth.uid, auth.credentials.token, Time.at(auth.credentials.expires_at))

    #check if username and name is nil
   if user
      session[:user_id] = user.id
      if (session[:return_to] && user.name == nil)  
        redirect_to "/users/#{current_user.id}/edit"
      elsif (user.name == nil)
         redirect_to "/users/#{current_user.id}/edit"
      else
        redirect_to games_url, :notice =>  "Logged in"
      end
  end
end

如果有人可以帮助我,我真的很感激。 谢谢

PS:我刚刚在一个月前开始使用ruby,所以我还是一个非常新手=)

1 个答案:

答案 0 :(得分:0)

您可以通过嵌入IMG元素并将其src设置为

来获取用户的个人资料图片
http(s)://graph.facebook.com/userid/picture

有关其他选项的更多信息,请参阅文档,“连接”部分 - >图片。 https://developers.facebook.com/docs/reference/api/user/