2011-07-08 9 views
2

私はFBの新しい権限に問題があります。ユーザーがアプリケーションを承認するためにoauthクライアントを経由する必要があるようです。コードは次のように: -許可ループ用のoauthリダイレクト!

保護のボイドをPage_Load(オブジェクト送信者、EventArgsの電子) {

var auth = new CanvasAuthorizer { Permissions = new[] { "user_about_me" } }; 


    if (auth.Authorize()) 
    { 
     ShowFacebookContent(); 
    } 
    else 
    { 

     Response.Redirect("https://www.facebook.com/dialog/oauth?client_id=<appli id>&redirect_uri=http://apps.facebook.com/<myapp>/Default.aspx"); 

     FacebookWebAuthorizer auth2 = new FacebookWebAuthorizer(FacebookWebContext.Current); 
     auth2.Permissions = new[] { "name, first_name" }; 
     if (auth2.Authorize()) 
     { 
      Label1.Text = "Authorized"; 
     } 
     else 
     { 
      Label1.Text = "Not Authorized"; 
     } 

    } 

の問題は、それイン新規ユーザログはないのOAuthサイトに跳ね返るときにその後、呼び出し側のページにうまくリダイレ​​クトされ、ループ&がクラッシュします。 宣誓書が伝播するのに時間がかかるようですので、コードの背後にはoauthのリダイレクトなどが再トリガーされています...?私は仕事にこれを取得することができ

唯一の方法は、ログインするユーザ名を取得し、上記のように追加され、彼らはその後、ループ&クラッシュのauth、その後私はつまり、(それらがuthorisedされ&リダイレクトをコメントアウト。auth2.name =」 Billbo Baggins "など)。

誰でも便利なヒントや回避策がありますか?私は今3日間、すべての(PHP中心の)例を無駄に使っています。

Kindest、Jonathan。

答えて

0

Facebook C#SDKの非常に古いバージョンを使用しています。私はSDKの作成者であり、このコードを覚えていないこともあります...私の推奨は、バージョン6にアップグレードすることです。また、はるかに堅牢なASP.NET Facebookテンプレート認証ヘルパー。 http://www.asp.net/vnext/overview/fall-2012-update/facebook-application-template-tutorial

さらに、このテンプレート用に書かれたライブラリは、http://nuget.org/packages/Microsoft.AspNet.Mvc.Facebookです。ソースコードは次のとおりです。http://aspnetwebstack.codeplex.com/

アップグレードできない場合は、githubから古いバージョンのFacebook C#SDKのソースをダウンロードして、コードをステップバイステップで見つけてください問題。 https://github.com/facebook-csharp-sdk/facebook-csharp-sdk/tree/v5

関連する問題