私はFacebook C# SDKを使用しており、それがどのように機能するかを正確に理解しようとしています。私は実際に AJAX Web メソッドを使用して、認証されたユーザー ID に基づいて Facebook アカウントの詳細を検索します。これは次のようになります。
if (response.status === "connected")
{
KitchenPC.LogonFB(response.authResponse.userID, checkResult, facebookError);
}
サーバー側では、LogonFB Web メソッドは次のような処理を行います。
Client = new FacebookClient(applicationId, applicationSecret);
var result = Client.Get(path) as IDictionary<string, object>;
UserId = Int64.Parse((String)result["id"]);
Name = result["name"] as String;
FirstName = result["first_name"] as String;
LastName = result["last_name"] as String;
Location = result.ContainsKey("location") ? result["location"] as String : "";
Gender = result.ContainsKey("gender") ? result["gender"] as String : "";
Email = result["email"] as String;
path
クライアントから渡されたユーザー ID はどこにありますか。
私の質問:
ASP.NET Web サービスから WCF に切り替えていますが、WCF は Cookie をサポートしていません。実際、HttpContext.Current
WCF パイプライン内では null になります。Facebook C# SDKは、リクエストで渡される Cookie に依存してfbm_
いるという印象を受けました。これは、Facebook サーバーとのセッションを検証するために使用されます。fmsr_
しかし、驚いたことに、.Get()
呼び出しは引き続き機能し、ユーザー情報が返されます。また、SDK ソース コードを調べましたが、どこにも への参照が見つかりませんHttpContext.Current
。
Facebook C# SDK は Cookie とは完全に独立して動作しますか? これは、必要なのはユーザーの Facebook ID だけであり、ユーザーが以前に私のアプリ ID を承認している限り、そのアカウントに関する情報を取得できるということですか?
私は何も悪いことをしていないことを確認したいだけで、本番環境で問題が発生することはありません.