问题描述
|
当前在我们的网站上,我们使用户可以使用graph api使用其Facebook凭据登录/注册。我们正在创建一个移动应用程序,我们也希望支持使用Facebook登录。我了解Facebook Android SDK以及如何检索访问令牌,我的问题是:
获得Facebook访问令牌后,如何使用我们的后端系统对用户进行身份验证。
一种想法是将access_token传递到我的后端服务器并查询用户的Facebook ID(我不想传递Facebook ID,因为有人可以欺骗请求)。现在,使用Facebook ID,然后可以将其与我们的用户ID关联并登录用户。
这种方法行得通吗,或者还有另一种解决方案
解决方法
我上面描述的方法效果很好。这是摘要:
Facebook通过iPhone应用程序连接
检索电话上的fb访问令牌
将fb访问令牌发送到您的Rails服务器
您使用的控制器将检查fb参数并查询用户信息
控制器外观示例
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