代码之家  ›  专栏  ›  技术社区  ›  Ankit Suri

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

  •  0
  • Ankit Suri  · 技术社区  · 12 年前

    我正在与omnauth合作,通过脸书登录用户(脸书登录)。 这种情况发生在会话控制器中。我的后端数据库由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显示图片,我不太确定我该怎么做。 我的会话控制器如下

    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
    

    如果有人能在这里帮我,我将不胜感激。 非常感谢。

    附言:我一个月前刚开始使用ruby on rails,所以我还是个新手=)

    1 回复  |  直到 12 年前
        1
  •  0
  •   C3roe    12 年前

    您可以通过嵌入一个IMG元素来获得用户的个人资料图片,该元素的src设置为

    http(s)://graph.facebook.com/userid/picture
    

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