Βεβαιωθείτε υπογραφή Facebook Connect

ψήφοι
1

Έχω ακολουθήσει τις οδηγίες σε αυτό το μεγάλο ερώτημα Stackoverflow , αλλά δεν είμαι σίγουρος για αυτό επαλήθευση της υπογραφής πράγμα. Είναι αυτό που προβλέπεται με κάποιο τρόπο στην Toolkit Facebook ή μήπως πρέπει να κάνω κάτι για τον εαυτό μου; Η τεκμηρίωση δεν είναι superclear για το πώς να το κάνουμε αυτό και αν είναι ήδη ψημένο στην εργαλειοθήκη facebook δεν θέλω να περνούν πολύ χρόνο σε αυτό.

Όποιος κάνει αυτό; Θα πρέπει να αναφέρουμε μπορώ να χρησιμοποιήσω ένα πρότυπο ASP.NET εφαρμογών Web σε C #. Οποιαδήποτε βοήθεια θα εκτιμηθεί!

Δημοσιεύθηκε 27/02/2009 στις 10:45
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
1

Αυτή τη στιγμή, θα πρέπει να το κάνετε μόνοι σας. Έχω παρέχεται μια απλή μέθοδος που μπορείτε να καλέσετε για να δείτε αν η υπογραφή είναι έγκυρη ή όχι.

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 που πρέπει να ρυθμίσετε.

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

ψήφοι
0

Μπορείτε να το κάνετε αυτό χρησιμοποιώντας FBConnectAuth , κάνει το ίδιο όπως παραπάνω, και λίγο περισσότερο.

Απαντήθηκε 27/08/2009 στις 00:02
πηγή χρήστη

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