如果我已经拥有access_token,如何获得omniauth哈希?

时间:2015-12-08 00:50:45

标签: ruby-on-rails facebook-graph-api rails-api omniauth-facebook

目前我已经实现了它。

def auth_hash
    url = URI.parse('https://graph.facebook.com/me')

    url.query = URI.encode_www_form('access_token' => @token, 'fields' => 'email, name, first_name, last_name, gender')
    req = Net::HTTP::Get.new url.request_uri

    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    response = nil
    http.start do |get|
      response = get.request(req)
    end
    response
end

我的IOS应用程序执行回调并发送访问令牌以通过我们的服务器进行身份验证。

我使用上面的方法,它从图形api返回哈希值,我得到了完美的用户信息。

我使用过这种方法,但它没有使用omniauth。所以我的问题是有一种方法只使用生成的access_token检索omniauth哈希(该标记由facebook sdk生成并发送到服务器)?

我只是想确保我不是用这种方法重新发明轮子。

1 个答案:

答案 0 :(得分:0)

用于验证Facebook并从中检索数据的红宝石很少。

请参阅此链接:https://github.com/arsduo/koala,                          https://github.com/nov/fb_graph2

对于Google使用可以使用,请参阅此链接:https://github.com/zquestz/omniauth-google-oauth2