ASP.NET MVC4 Web アプリケーションがあり、Facebook を使用してユーザーを認証したいと考えています。
私の計画は、ユーザーが Facebook で「サインアップ」してから、それを使用してログインすることです。
これで、ユーザーがサイトにアクセスして、設定した Facebook ログイン ボタンを使用してログインしたときに問題がなくなりました。このボタンは /Account/FacebookLogin アクションを経由します。そのアクションで、認証トークンを取得し、SQL データベースと照合して、データベースに保存されているすべての追加フィールド/情報を使用してユーザーを認証できます (これは Web ベースのゲームなので、キャラクター名など)...
ここで、ユーザーが私のサイトに来て、すでに 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 コールバックが呼び出されるため、無限ループに陥ります。