2011-01-04 1 views
0

ユーザーは事前入力済みのフォームを消去して通常の登録に戻す方法を知っていますか?Facebookのすべてのフィールドをクリアして、手動で登録フォームに記入しますか?

私はiframe登録アプリを開発しています。ユーザーがフォームフィールドをクリアすると、sign_requestが有効であるように見えます(読み込み時にfacebookにログインした場合)。

ユーザーが実際にFB情報や登録情報を使用しているかどうかを知りたい人は誰でも知っていますか?私は以前にセッションが私達に教えてくれると思っていましたが、 ユーザーが「クリアフォーム」にヒットした後でもセッションは有効です。

// Check to make sure we have a signed_request object, if not, redirect to home 
var sreq = Request.Form["signed_request"]; 
if (string.IsNullOrEmpty(sreq)) 
{ 
Response.Redirect(WebConstants.SiteConstants.Home); 
} 

var app = new FacebookApp(); 

ユーザーがFORMをクリアした場合でも、ユーザーIDはまだ入力されています。

実際にFBと統合するかどうかを検出するにはどうすればよいですか?

ありがとうございました!

答えて

0

登録と認証は2つの全く異なるものです。ユーザーがフォームを「クリア」するだけで、それらをフェイスブックからログアウトしないからです。 C#SDKは、signed_requestが存在し、有効であるかどうかを検出しています。

1

私は認証vs登録に同意しますが、フォームまたはログアウト(私はiFrame登録を使用しています)をクリアしても有効なので、Facebook APIは認証Cookieを正しくクリアしていないと思います。私が署名付きリクエストを取得して以来、ベストプラクティスを探しています。IDは認証されたユーザーですので、私は現在、String.IsEmptyOrNull(パスワードフィールド上)を確認することしかできません。ユーザーはFacebookの登録を使用していませんでした)。私はこれがハックだと思うが、署名されたリクエストをオブジェクトに変換する "適切な"方法を誰かが知っていれば、私のアプローチについてコメントしてください。私たちが必要とするものを得るための真っ直ぐなアプローチでなければならないもののために、まだたくさんのコードを書く必要があることは驚くべきことです。私はFB開発について多くの苦情を受けてきましたが、それらはほとんど真実です.Google APIはこのような不満はなく、FBはさまざまな環境をテストすることをほとんど不可能にします(ローカルホストの有名なクッキーの問題はもちろんです)。

問題:If.IserIdはiframeフォームを消去した後、またはFB-goフィギュアからログアウトした後でも、依然として認証されたユーザーです。

ソリューション:パスワードフィールドのpresenseを確認する - これは我々が....そこにすべての少数派のための

C#.NETを起こって非FB登録を持っていることを教えてくれる。

// Check to make sure we have a signed_request object, if not, redirect to home var sreq = Request.Form["signed_request"]; if (string.IsNullOrEmpty(sreq)) { Response.Redirect(WebConstants.SiteConstants.Home); } 

    JObject meObject = null; 
    var app = new FacebookApp(); 
    if (app.SignedRequest != null) 
    { 
     meObject = JObject.Parse(app.SignedRequest.Dictionary["registration"].ToString()); 
     // Access meObject    
     JavaScriptSerializer ser = new JavaScriptSerializer(); 
     fbReg = ser.Deserialize<FBRegistration>(meObject.ToString()); 
     if (fbReg != null) 
     { 
      // 02 Feb 2011 - MCS - bug in facebook API, does not delete cookie if logout of FB 
      // We check to see if we have password - then - we know we can check the UserId 
      if (String.IsNullOrEmpty(fbReg.password)) 
      { 
       // FB Registration 
       FacebookUserId = app.UserId; 
      } 
      else 
      { 
       FacebookUserId = 0; 
       // Non FB Registration 
関連する問題