目前我已经实现了它。
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生成并发送到服务器)?
我只是想确保我不是用这种方法重新发明轮子。
答案 0 :(得分:0)
用于验证Facebook并从中检索数据的红宝石很少。
请参阅此链接:https://github.com/arsduo/koala, https://github.com/nov/fb_graph2
对于Google使用可以使用,请参阅此链接:https://github.com/zquestz/omniauth-google-oauth2