Frage

Ich versuche, meine asp.net 4.0 (nicht MVC) Website mit Facebook zu integrieren.

Ich möchte den authentifizierten Benutzer Info retrive.

Die Proben in facebooksdk aufgeführt auf MVC basiert. Ich habe versucht, es in meiner Website zu implementieren, aber Fehler zu bekommen. i geschlagen bin.

Wenn jemand die facebook connect Logik implementiert und abgerufen die Benutzerinformationen über Facebook-c # -SDK, bitte helfen Sie mir, wie dies zu tun.

habe ich versucht, das gleiche mit facebooktoolkit, und ich bin in der Lage, die Benutzerinformationen retrive. aber das Toolkit ist mit Problemen mit .NET 4.0.

Erheblich Ihre Hilfe geschätzt.

War es hilfreich?

Lösung

Hier einige Beispiel-Code auf, wie eine Seite zu schützen genannt ProtectedPage.aspx und haben eine Login-Seite namens Logon.aspx:

Login.aspx:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <h2>
        Log In
    </h2>
    <p>
        <fb:login-button></fb:login-button>
    </p>
    <div id="fb-root">
    </div>
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <script>
        FB.init({ appId: 'your app id', status: true, cookie: true, xfbml: true });
        FB.Event.subscribe('auth.sessionChange', function (response) {
            if (response.session) {
                // A user has logged in, and a new cookie has been saved
                window.location.reload();
            } else {
                // The user has logged out, and the cookie has been cleared
            }
        });
    </script>
</asp:Content>

Login.aspx.cs

public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            FacebookApp app = new FacebookApp();
            Authorizer authorizer = new Authorizer(app);
            if (authorizer.IsAuthorized())
            {
                Response.Redirect(HttpUtility.UrlDecode(Request.QueryString["returnUrl"] ?? "/"));
            }
        }
    }

ProtectedPage.aspx.cs

public partial class ProtectedPage : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        FacebookApp app = new FacebookApp();
        Authorizer authorizer = new Authorizer(app);
        if (!authorizer.IsAuthorized())
        {
            Response.Redirect("~/Account/Login.aspx?returnUrl=" + HttpUtility.UrlEncode(Request.Url.PathAndQuery));
        }
    }
}

Es gibt mehr Proben und WARTUNGSANLEITUNGEN auf unserer Codeplex Wiki .

Andere Tipps

Beachten Sie bitte folgende Schritte:

  • Verwenden Sie die offizielle sdk: github.com/facebook/csharp-sdk.
  • Implementieren Sie den Authentifizierungsprozess der eigenen.
  • Lesen facebookk api-Dokumentation auf Webanwendungen bei der Authentifizierung für besser, den Authentifizierungsprozess zu verstehen: developers.facebook.com/docs/authentication/#authenticating-users-in-a-web-application
  • Ich habe eine benutzerdefinierte Facebook classs für encapsulate dieses Authentifizierungsprozess so weit wie möglich gemacht. Ich habe es auf meinem Blog geteilt auf facebook api Authentifizierung c # mit . Sie können sie auch als Referenz verwenden.
  • Nachdem das Zugriffstoken bekommen, sind alle geradlinig. Stellen Sie einfach die Zugriffstoken und Call ‚get‘ Methode für provate Daten.
  • Wenn Sie immer noch Probleme haben, bitte lassen Sie uns Einzelheiten wissen.

Hier ist ein gutes Beispiel für Facebook Auth 2.0 mit Facebook-sdk von Codeplex

Facebook Auth 2.0 mit Facebook-sdk

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top