Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook graph api ASP.net MVC oAuth和Facebook javascript SDK_Facebook Graph Api_Oauth - Fatal编程技术网

Facebook graph api ASP.net MVC oAuth和Facebook javascript SDK

Facebook graph api ASP.net MVC oAuth和Facebook javascript SDK,facebook-graph-api,oauth,Facebook Graph Api,Oauth,这个问题有点冗长,但我相信答案会帮助很多人。我只是到处找不到我需要的指导 我在Visual Studio 2012中使用现成的项目模板创建了一个ASP.net MVC 4 web应用程序。它会立即为您提供一个网站,允许用户使用oAuth注册并验证其Facebook凭据。到目前为止还不错 我的应用程序使用Facebook Javascript SDK和OpenGraph代表用户执行操作。这也很有效 以下是我遇到问题的场景:- 一个用户(John)使用他的FB档案注册 John使用他的Faceboo

这个问题有点冗长,但我相信答案会帮助很多人。我只是到处找不到我需要的指导

我在Visual Studio 2012中使用现成的项目模板创建了一个ASP.net MVC 4 web应用程序。它会立即为您提供一个网站,允许用户使用oAuth注册并验证其Facebook凭据。到目前为止还不错

我的应用程序使用Facebook Javascript SDK和OpenGraph代表用户执行操作。这也很有效

以下是我遇到问题的场景:-

  • 一个用户(John)使用他的FB档案注册
  • John使用他的Facebook登录名登录到我的应用程序。他已经登录了Facebook,因此不需要重新输入登录凭据
  • John将浏览器保持打开状态,并且不会注销我的应用程序
  • 约翰的妻子(简)打开一个新标签,进入Facebook网站,将约翰从Facebook注销,并使用她自己的Facebook凭据登录。完成后,她还会让浏览器保持打开状态
  • John返回并继续使用我的应用程序。假设他的会话没有过期,他仍然以John的身份在我的应用程序中进行身份验证,但是如果应用程序使用javascript SDK进行任何调用或执行任何操作,那么它将作为登录的Facebook用户,现在是Jane。假设他们都授权了我的应用程序(因为他们都有我的应用程序的帐户),这种情况会悄无声息地发生,John的行为会发布到Jane的Facebook帐户
  • 我在使用FB.api的每个页面上调用FB.getLoginStatus,但这并没有检测到用户的变化。我已尝试存储和比较response.authResponse.accessToken,但当用户更改时,这一点不会改变

    有谁能提供一些指导,告诉我如何处理Facebook用户的变化,以便我的应用程序检测到FB用户的变化并将他们重定向到登录页面


    谢谢

    我通过在登录时存储FB userid并在每次页面加载时将其与FB.getLoginStatus的响应对象中的userid进行比较来处理这个问题。如果它们不匹配,我将强制注销