登录时桌面应用程序工作流程错误

时间:2013-04-05 16:41:26

标签: facebook-graph-api login facebook-oauth

我们的桌面应用程序使用桌面应用程序工作流程与Facebook集成。 18个月一直没有任何问题。但是,我们开始收到一些用户的报告,说他们无法通过登录过程。

登录成功后,Facebook应将access_token附加到redirect_uri。我们的应用程序检测到这一点并将用户移至我们Facebook集成的主要部分。在某些情况下似乎发生的情况是access_token参数丢失,导致我们的应用程序使用以下来自Facebook的消息打开我们的嵌入式浏览器窗口:
“成功
安全警告:请将您的密码视为上述URL,不要与任何人共享。“

奇怪的是,所有Facebook帐户都不会出现这种情况,并且与其发生的Facebook帐户似乎正在发生变化。例如,我们有一个关于此约的报告。 1周前,但无法使用我自己的Facebook帐户或同事的Facebook帐户复制它。今天,我仍然不能用我自己的Facebook帐户复制它,但我的同事现在遇到了问题。

我们的代码发送给Facebook的网址是: https://graph.facebook.com/oauth/authorize?client_id=xxxx&redirect_uri=http://www.facebook.com/connect/login_success.html&type=user_agent&display=popup&scope=read_friendlists,user_photos,friends_photos,user_photo_video_tags,friends_photo_video_tags,user_events,friends_events,user_groups,friends_groups

阅读最新的API文档,看起来他们推荐了一种不同的连接方式,我们也尝试过: https://www.facebook.com/dialog/oauth?client_id=xxxx&redirect_uri=http://www.facebook.com/connect/login_success.html&scope=read_friendlists,user_photos,friends_photos,user_photo_video_tags,friends_photo_video_tags,user_events,friends_events,user_groups,friends_groups&response_type=token


为了排除我们的应用程序,我们在Web浏览器中直接尝试了这些URL。我们发现当使用我的Facebook帐户时,浏览器会重定向到包含access_token参数的成功URL,但在使用我同事的帐户时,浏览器会重定向到包含access_token的成功URL,然后立即重新定向到没有access_token的成功URL。


所以...据我们所知,这是: a)对API的更改,我们无法在任何地方找到 b)Facebook中的一个错误 c)现在由用户的Facebook安全设置控制的东西


有没有人可以解释为什么Facebook对不同的账户采取不同的行为以及我们如何解决这个问题呢?


谢谢。
凯文。

1 个答案:

答案 0 :(得分:0)

我在桌面应用程序中遇到同样的问题。 我只需仔细阅读ht * ps://developers.facebook.com/docs/howtos/login/login-for-desktop/即可解决问题。解决方案是将redirect_uri从ht * p://www.facebook.com / ...更改为ht * ps://www.facebook.com / ...

希望这会帮助你,就像它帮助我一样

NB:

  
    

将ht * p更改为http     抱歉,我必须将http更改为ht * p,以便我可以发布答案。