Mobile Safari FB.login Oauth重定向错误

时间:2013-05-21 10:11:44

标签: facebook-javascript-sdk mobile-safari

我有一个与Facebook Graph API集成的移动网络应用程序。

基本上,它使用JS SDK获取有关查看用户的详细信息,然后可以使用它来呈现用户特定的内容。

我使用FB.login功能让用户登录我的Facebook应用程序。这应该如下工作:

页面上的JS检测到用户尚未登录Facebook应用

给用户按钮点击以触发FB.login

用户被重定向到Facebook页面以授权该应用并登录

用户被重定向回我的移动网络应用程序

页面上的JS检测到用户 登录到Facebook应用程序,从Graph轮询用户数据并呈现它。

这一切在Android上运行良好,但重定向步骤不适用于Mobile Safari

用户在引用EntityRef时收到错误,看起来像发送到浏览器的Content-type是XML,但内容包含非法字符:

第49行第1行出错:EntityRef:expecting';'

这是产生错误的实际链接:

https://m.facebook.com/dialog/oauth?display=touch&domain=cgfoodscomp.herokuapp.com&scope=email&e2e=%7B%7D&app_id=135937919902029&locale=en_US&sdk=joey&client_id=135937919902029&redirect_uri=https%3A%2F%2Fs-static.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D24%23cb%3Df3cf8ca2ac%26origin%3Dhttps%253A%252F%252Fcgfoodscomp.herokuapp.com%252Ff2d1c54b04%26domain%3Dcgfoodscomp.herokuapp.com%26relation%3Dopener%26frame%3Df35f8ac348&origin=2&response_type=token%2Csigned_request

当你在另一个浏览器中打开它时,你会得到一个Javascript响应(我不会在这里发布,因为它包含脚本标签),其中包含对iPhone的引用:

iPhone *版本/(5 | 6)。

我实际上正在使用第4版IOS。

有谁知道这些东西是否应该在版本4中有效?

1 个答案:

答案 0 :(得分:0)

这是一个Facebook Bug,需要解决:

https://developers.facebook.com/bugs/339889299473431