我有一个 ASP.NET MVC4 Web 应用程序,我想使用 Facebook 对用户进行身份验证。
我的计划是让用户在 Facebook 上“注册”,然后使用它登录。
现在,当用户访问该站点并使用我设置的 Facebook 登录按钮登录时,这很好,该按钮通过 /Account/FacebookLogin 操作进行。在该操作中,我可以获取 Auth Token 并根据 SQL 数据库对其进行检查,然后使用我在数据库中存储的所有额外字段/信息对用户进行身份验证(这是一个基于网络的游戏,因此角色名称等)......
现在,如果用户访问我的网站并且他们已经登录到 Facebook,他们显然不会执行 /Account/FacebookLogin 操作...我只需通过
FB.getLoginStatus(function (response) {
if (response.status === 'connected') {
var accessToken = response.authResponse.accessToken;
//alert("User is logged in");
}
else if (response.status === 'not_authorized') {
//alert("User is not authorised");
}
else {
//alert("User is not connected to Facebook");
}
});
我的问题是......我可以在“如果已连接”代码中做什么来授权我的用户,而不会将它们发送到无限循环中?我尝试将它们重定向到 /Account/FacebookLogin 操作并传入身份验证令牌等。但是在每个页面上都会调用 getLoginStatus 回调......所以它们陷入了无限循环......