Verifieer handtekening Facebook Connect

stemmen
1

Ik heb de instructies in deze grote gevolgd StackOverflow vraag , maar ik ben niet zeker over deze handtekening controleren ding. Wordt hierin voorzien in een of andere manier in de Facebook-Toolkit of moet ik zelf iets doen? De documentatie is niet SuperClear over hoe dit te doen en als het al in de facebook toolkit wordt gebakken ik wil niet te besteden te veel tijd op.

Iedereen heeft dit gedaan? Moet gezegd dat ik gebruik maken van een standaard ASP.NET Web Application in C #. Alle hulp wordt gewaardeerd!

De vraag is gesteld op 27/02/2009 om 10:45
bron van user
In andere talen...                            


2 antwoorden

stemmen
1

Op dit moment moet je het zelf doen. Ik heb op voorwaarde dat een eenvoudige methode die u kunt bellen om te zien of de handtekening geldig is of niet.

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

Opmerking: SecretKey en apikey zijn waarden die door Facebook die je nodig hebt om in te stellen.

antwoordde op 03/06/2009 om 03:40
bron van user

stemmen
0

U kunt dit doen met behulp FBConnectAuth , doet hetzelfde als hierboven, en een beetje meer.

antwoordde op 27/08/2009 om 00:02
bron van user

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