Aláírás ellenőrzése Facebook Connect

szavazat
1

Én követtem az utasításokat ebben a nagy StackOverflow kérdés , de én nem vagyok biztos ebben ellenőrizni aláírás dolog. Ez a biztosított valamilyen módon a Facebook Toolkit, vagy tudom is tenni valamit magam? A dokumentáció nem superclear, hogyan kell ezt csinálni, és ha már sütött a facebook eszköztár nem akarom tölteni, hogy sok időt.

Bárki tette ezt? Meg kell említeni azt használja a szabványos ASP.NET Web Application C #. Minden segítséget szívesen vennénk!

A kérdést 27/02/2009 10:45
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
1

Abban a pillanatban, akkor csináld magad. Már feltéve egy egyszerű módszer lehet hívni, hogy ha az aláírás érvényes-e vagy sem.

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

Megjegyzés: titkos kulcsát és ApiKey olyan értékek által nyújtott Facebook, hogy meg kell állítani.

Válaszolt 03/06/2009 03:40
a forrás felhasználó

szavazat
0

Megteheti ezt használja FBConnectAuth , ez nem ugyanaz, mint fent, és egy kicsit több.

Válaszolt 27/08/2009 00:02
a forrás felhasználó

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