2011-01-16 8 views
5

私は自分のアプリケーションでFacebook Connectを使用しています。すべてがうまく動きます。しかし、コンストラクタの私のページで、私はすでにFacebookにログインしているユーザーを知りたいのですが、ログインページではなく別のページを表示したいのです。これどうやってするの?私はFacebook Developer Toolkit 3.1とSilverlight 4.0を使用しています。要するに、私はユーザーがFacebookに接続されているかどうかを知りたい。事前にユーザーは既にFacebookにログインしていますか?

感謝:)

答えて

4

注 - これはMVCである - あなたはSilverlightを使用している場合は、コードの一部を変更する必要があります。

私は以下を使用しました。それがsuccesfullの戻ってきた場合

var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current); 
oAuthClient.RedirectUri = new Uri(ConfigurationManager.AppSettings["RedirectUrl"]); 
var loginUri = oAuthClient.GetLoginUrl(new Dictionary<string, object> { { "state", returnUrl } }); 
return Redirect(loginUri.AbsoluteUri + "&scope=user_birthday"); 

- 私は認可:私は、次のしている私の「ランディングページ」で:アカウント/ログイン・ページで

if (Request.Cookies["AuthenticatedViaFacebook"] != null) 
{ 
    string val = Server.HtmlEncode(Request.Cookies["AuthenticatedViaFacebook"].Value); 
    if (val == "true") 
    { 
     return RedirectToAction("Login", "Account"); 
    } 
} 

私はFacebookのに迅速な再直接操作を行いますユーザーに送信してシステムに送信します。

私は自分のデータベースにFacebookのIDを保存しているので、私はそのユーザーが何であるか知っています。

もっと速く、より良いやり方を知りません - これはかなり早く動作します。あなたは1秒間、FacebookのページのURLを参照してくださいあなたのシステムにいる

関連する問題