获取Facebook登录状态和签名请求,无需JS SDK

时间:2013-09-11 10:48:56

标签: ruby-on-rails facebook oauth-2.0 facebook-javascript-sdk omniauth

我正在使用Cordova 3.0.9和Rails后端开发移动应用程序。

目前我正在实施身份验证部分,并且能够在InAppBrowser插件的帮助下实现客户端Facebook身份验证,并为用户获取访问令牌。

我的问题是,因为我正在使用Omniauth进行服务器身份验证,并且需要使用signedRequest作为Omniauth的一个参数来发布我的回调终点(/ auth / facebook / callback)的发布请求:

如何在不使用JS SDK的情况下从Facebook获取signedRequest令牌,可能只需要对某个网址提供简单的获取请求。 通常这可以通过FB.getLoginStatus请求来完成,但我无法管理它在移动环境中工作。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我设法完成了我想要的东西。

在初始请求发送到

之后
/auth/facebook

使用来自facebook的访问令牌,然后他打电话给

/auth/facebook/callback

使用omniauth中的signedRequest令牌完成身份验证。

一旦我在Rails后端的会话控制器上,我就可以检查请求对象,以便找到令牌,以及发送给第一个请求的初始段落。

这样我就能找到

"omniauth.params"=>{"format"=>"json", "provider"=>"facebook", "code"=>"..."} 

当我的应用程序发送请求时,相应地回复json。