我正在使用Cordova 3.0.9和Rails后端开发移动应用程序。
目前我正在实施身份验证部分,并且能够在InAppBrowser插件的帮助下实现客户端Facebook身份验证,并为用户获取访问令牌。
我的问题是,因为我正在使用Omniauth进行服务器身份验证,并且需要使用signedRequest作为Omniauth的一个参数来发布我的回调终点(/ auth / facebook / callback)的发布请求:
如何在不使用JS SDK的情况下从Facebook获取signedRequest令牌,可能只需要对某个网址提供简单的获取请求。 通常这可以通过FB.getLoginStatus请求来完成,但我无法管理它在移动环境中工作。
提前致谢。
答案 0 :(得分:1)
我设法完成了我想要的东西。
在初始请求发送到
之后/auth/facebook
使用来自facebook的访问令牌,然后他打电话给
/auth/facebook/callback
使用omniauth中的signedRequest令牌完成身份验证。
一旦我在Rails后端的会话控制器上,我就可以检查请求对象,以便找到令牌,以及发送给第一个请求的初始段落。
这样我就能找到
"omniauth.params"=>{"format"=>"json", "provider"=>"facebook", "code"=>"..."}
当我的应用程序发送请求时,相应地回复json。