Facebook Connect και ASP.NET

ψήφοι
45

Είμαι στο βήμα 8 της επισκόπησης ταυτότητας βρείτε εδώ: http://wiki.developers.facebook.com/index.php/How_Connect_Authentication_Works

Συγκεκριμένα, ο χρήστης έχει συνδεθεί στο Facebook μέσω του Facebook Connect και συνόδου τους στο διαδίκτυο έχει δημιουργηθεί. Πώς μπορώ να χρησιμοποιήσω τον κύριο του έργου facebook εργαλειοθήκη v2.0 (από την διαύγεια) για να ανακτήσετε πληροφορίες για τον χρήστη. Για παράδειγμα, θα ήθελα να πάρει το όνομα του χρήστη και το επώνυμο.

Παραδείγματα στην τεκμηρίωση προσανατολισμένη προς τις εφαρμογές facebook, η οποία δεν είναι.

Εκσυγχρονίζω

Facebook κυκλοφόρησε πρόσφατα το API Graph. Αν δεν είστε διατηρώντας μια εφαρμογή που χρησιμοποιεί το Facebook Connect, θα πρέπει να ενημερωθείτε για τις τελευταίες API: http://developers.facebook.com/docs/

Δημοσιεύθηκε 27/11/2008 στις 06:44
πηγή χρήστη
Σε άλλες γλώσσες...                            


7 απαντήσεις

ψήφοι
13

Facebook Connect στην πραγματικότητα δεν είναι πάρα πολύ δύσκολο, υπάρχει μόνο μια έλλειψη τεκμηρίωσης.

Βάλτε την απαραίτητη javascript από εδώ: http://tinyurl.com/5527og

Την επικύρωση των cookies ταιριάζουν με την υπογραφή παρέχεται από το facebook για την πρόληψη της πειρατείας, δείτε: http://tinyurl.com/57ry3s για μια εξήγηση για το πώς να ξεκινήσετε

Δημιουργήστε ένα αντικείμενο api (Facebook.API.FacebookAPI) Από το αντικείμενο api, ορίστε το κλειδί της εφαρμογής και το μυστικό του Facebook σας προσφέρει κατά τη δημιουργία της εφαρμογής σας. Ορίστε api.SessionKeyκαι api.UserIdαπό τα cookies που έχουν δημιουργηθεί για εσάς από το facebook συνδεθείτε.

Μόλις γίνει αυτό, μπορείτε να αρχίσετε να κάνετε κλήσεις σε facebook:

Facebook.Entity.User user = api.GetUserInfo();   //will get you started with the authenticated person
Απαντήθηκε 02/12/2008 στις 08:34
πηγή χρήστη

ψήφοι
23

Είχα πολλά προβλήματα αναφέρονται για το πώς να κάνει διακομιστή καλεί εκ ένας χρήστης συνδεθεί με το Facebook Connect. Το κλειδί είναι ότι το Facebook Connect javascript θέτει τα cookies στον πελάτη τη στιγμή υπάρχει μια επιτυχημένη σύνδεση. Μπορείτε να χρησιμοποιήσετε τις τιμές αυτών των cookies για την εκτέλεση API κλήσεις στο διακομιστή.

Η σύγχυση μέρος έψαχνε στο δείγμα PHP κυκλοφόρησαν. Τους πλευρά του server API φροντίζει αυτόματα την ανάγνωση αυτών των τιμών μπισκότων και τη δημιουργία ενός αντικειμένου API που είναι έτοιμοι να κάνουν αιτήσεις για λογαριασμό του συνδεδεμένου χρήστη.

Εδώ είναι ένα παράδειγμα με τη χρήση του Facebook Toolkit στο διακομιστή αφού ο χρήστης έχει συνδεθεί με Facebook Connect.

Κωδικός διακομιστή:

API api = new API();
api.ApplicationKey = Utility.ApiKey();
api.SessionKey = Utility.SessionKey();
api.Secret = Utility.SecretKey();
api.uid = Utility.GetUserID();

facebook.Schema.user user = api.users.getInfo();
string fullName = user.first_name + " " + user.last_name;

foreach (facebook.Schema.user friend in api.friends.getUserObjects())
{
   // do something with the friend
}

Utility.cs

public static class Utility
{
    public static string ApiKey()
    {
        return ConfigurationManager.AppSettings["Facebook.API_Key"];
    }

    public static string SecretKey()
    {
        return ConfigurationManager.AppSettings["Facebook.Secret_Key"];
    }

    public static string SessionKey()
    {
        return GetFacebookCookie("session_key");
    }

    public static int GetUserID()
    {
        return int.Parse(GetFacebookCookie("user"));
    }

    private static string GetFacebookCookie(string name)
    {
        if (HttpContext.Current == null)
            throw new ApplicationException("HttpContext cannot be null.");

        string fullName = ApiKey() + "_" + name;
        if (HttpContext.Current.Request.Cookies[fullName] == null)
            throw new ApplicationException("Could not find facebook cookie named " + fullName);
        return HttpContext.Current.Request.Cookies[fullName].Value;
    }
}
Απαντήθηκε 15/12/2008 στις 22:02
πηγή χρήστη

ψήφοι
15

Θα ακολουθήσει αυτή την έννοια και έγραψε ένα πλήρες άρθρο που λύνει αυτό το πρόβλημα σε ASP.NET. Παρακαλούμε δείτε το παρακάτω.

Πώς να ανακτήσετε τα δεδομένα των χρηστών από το Facebook Connect στο ASP.NET - Devtacular

Χάρη σε Calebt για μια καλή αρχή σε αυτό το βοηθητικό τάξη.

Απολαμβάνω.

Απαντήθηκε 01/03/2009 στις 07:43
πηγή χρήστη

ψήφοι
8

Αυτό που λείπει από τις απαντήσεις που αναφέρονται μέχρι στιγμής:

Μετά τη σύνδεση είναι επιτυχής, το Facebook συνιστά να επικυρώσετε τα μπισκότα είναι στην πραγματικότητα legit και τοποθετείται στο μηχάνημα του πελάτη τους.

Εδώ είναι δύο μέθοδοι που μπορούν να χρησιμοποιηθούν μαζί για να λύσουν αυτό. Μπορεί να θέλετε να προσθέσετε τη μέθοδο IsValidFacebookSignature στην κατηγορία Utility calebt του. Ανακοίνωση Έχω αλλάξει τη μέθοδο GetFacebookCookie του ελαφρώς, καθώς και.

private bool IsValidFacebookSignature()
{
        //keys must remain in alphabetical order
        string[] keyArray = { "expires", "session_key", "ss", "user" };
        string signature = "";

        foreach (string key in keyArray)
            signature += string.Format("{0}={1}", key, GetFacebookCookie(key));

        signature += SecretKey; //your secret key issued by FB

        MD5 md5 = MD5.Create();
        byte[] hash = md5.ComputeHash(Encoding.UTF8.GetBytes(signature.Trim()));

        StringBuilder sb = new StringBuilder();
        foreach (byte hashByte in hash)
            sb.Append(hashByte.ToString("x2", CultureInfo.InvariantCulture));

        return (GetFacebookCookie("") == sb.ToString());
    }

    private string GetFacebookCookie(string cookieName)
    {
        //APIKey issued by FB
        string fullCookie = string.IsNullOrEmpty(cookieName) ? ApiKey : ApiKey + "_" + cookieName;

        return Request.Cookies[fullCookie].Value;
    }

Η SecretKey και ApiKey είναι τιμές που παρέχονται σε σας από το Facebook. Στην περίπτωση αυτή, οι τιμές αυτές πρέπει να καθορίζονται, κατά προτίμηση προέρχεται από το αρχείο .config.

Απαντήθηκε 03/06/2009 στις 03:34
πηγή χρήστη

ψήφοι
6

Ακολούθησα από μεγάλο άρθρο του Bill, και έκανε αυτό το μικρό εξάρτημα. Θα φροντίζει για την αναγνώριση και την επικύρωση του χρήστη από τα cookies Facebook Connect.

Facebook Connect ταυτότητας για ASP.NET

Ελπίζω ότι βοηθά κάποιον!

Στην υγειά σας,

Αδάμ

Απαντήθηκε 30/06/2009 στις 21:09
πηγή χρήστη

ψήφοι
1

Μου δύο λεπτά: ένα πολύ απλό έργο χρησιμοποιώντας το «Σύνδεση με το Facebook» χαρακτηριστικό - facebooklogin.codeplex.com

Δεν είναι μια βιβλιοθήκη, αλλά δείχνει πως όλα τα έργα.

Απαντήθηκε 11/04/2011 στις 21:23
πηγή χρήστη

ψήφοι
3

Μπορείτε επίσης να χρησιμοποιήσετε SocialAuth.NET

Παρέχει πιστοποίηση, τα προφίλ και τις επαφές με το facebook, google, το MSN και το Yahoo με λίγη προσπάθεια ανάπτυξης.

Απαντήθηκε 30/05/2011 στις 13:33
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more