Verificar la firma Facebook Connect

votos
1

He seguido las instrucciones en esta gran pregunta de Stackoverflow, pero no estoy seguro de que esto se pueda verificar. ¿Esto se proporciona de alguna manera en Facebook Toolkit o tengo que hacer algo por mí mismo? La documentación no es muy clara sobre cómo hacer esto y si ya está preparada en el kit de herramientas de Facebook, no quiero dedicarle demasiado tiempo.

¿Alguien ha hecho esto? Debería mencionar que uso una aplicación web ASP.NET estándar en C #. ¡Cualquier ayuda sería apreciada!

Publicado el 27/02/2009 a las 10:45
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
1

Por el momento, tienes que hacerlo tú mismo. Proporcioné un método simple al que puede llamar para ver si la firma es válida o no.

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

Nota: SecretKey y ApiKey son valores proporcionados por Facebook que debe establecer.

Respondida el 03/06/2009 a las 03:40
fuente por usuario

votos
0

Puedes hacer esto usando FBConnectAuth , hace lo mismo que arriba, y un poco más.

Respondida el 27/08/2009 a las 00:02
fuente por usuario

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