Verifisere signaturen Facebook Connect

stemmer
1

Jeg har fulgt instruksjonene i denne store Stackoverflow spørsmålet , men jeg er ikke sikker på om dette verifisere signaturen ting. Dette forutsatt på noen måte i Facebook Toolkit eller må jeg gjøre noe selv? Den dokumentasjonen er ikke Superclear om hvordan du gjør dette, og hvis det allerede er bakt i facebook toolkit jeg ønsker ikke å bruke for mye tid på det.

Alle som har gjort dette? Bør nevne jeg bruker en standard ASP.NET Web Application i C #. Eventuelle hjelpe ville være verdsatt!

Publisert på 27/02/2009 klokken 09:45
kilden bruker
På andre språk...                            


2 svar

stemmer
1

I øyeblikket, må du gjøre det selv. Jeg har gitt en enkel metode du kan ringe for å se om signaturen er gyldig eller ikke.

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

Merk: SecretKey og apikey er verdier som tilbys av Facebook som du trenger for å stille inn.

Svarte 03/06/2009 kl. 02:40
kilden bruker

stemmer
0

Du kan gjøre dette ved hjelp FBConnectAuth , det gjør det samme som ovenfor, og litt mer.

Svarte 26/08/2009 kl. 23:02
kilden bruker

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