Stellen Sie sicher, Unterschrift Facebook Connect

stimmen
1

Ich habe die Anweisungen in dieser großen gefolgt Stackoverflow Frage , aber ich bin nicht sicher , über diese Unterschrift Sache überprüfen. Ist das in der Facebook - Toolkit in irgendeiner Weise zur Verfügung gestellt oder muss ich selbst etwas zu tun? Die Dokumentation ist nicht auf Superclear , wie dies zu tun , und wenn es bereits in der Facebook - Toolkit gebacken ich will nicht zu viel Zeit damit verbringen.

Wer hat das getan? Sollte erwähnen, ich eine Standard ASP.NET Web Application in C # verwenden. Jede mögliche Hilfe würde geschätzt!

Veröffentlicht am 27/02/2009 um 10:45
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Im Moment haben Sie es selbst zu tun. Ich habe eine einfache Methode zur Verfügung gestellt Sie anrufen können, um zu sehen, ob die Signatur gültig ist oder nicht.

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;
    }

Hinweis: SecretKey und apikey sind Werte, die von Facebook, die Sie einstellen müssen.

Beantwortet am 03/06/2009 um 03:40
quelle vom benutzer

stimmen
0

Sie können dies mit tun FBConnectAuth , tut es das gleiche wie oben, und ein wenig mehr.

Beantwortet am 27/08/2009 um 00:02
quelle vom benutzer

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