Я просто вставляю тот же ответ, на который я ответил в другом сообщении.
Только для фанатов в Facebook с asp.net C # sdk
Вы получаете подписанный запрос, когда ваша веб-страница загружается в приложение facebook canvas; у вас должна быть возможность проанализировать подписанный запрос примерно так:
if (Request.Params["signed_request"] != null)
{
string payload = Request.Params["signed_request"].Split('.')[1];
var encoding = new UTF8Encoding();
var decodedJson = payload.Replace("=", string.Empty).Replace('-', '+').Replace('_', '/');
var base64JsonArray = Convert.FromBase64String(decodedJson.PadRight(decodedJson.Length + (4 - decodedJson.Length % 4) % 4, '='));
var json = encoding.GetString(base64JsonArray);
var o = JObject.Parse(json);
var lPid = Convert.ToString(o.SelectToken("page.id")).Replace("\"", "");
var lLiked = Convert.ToString(o.SelectToken("page.liked")).Replace("\"", "");
var lUserId= Convert.ToString(o.SelectToken("user_id")).Replace("\"", "");
}
Вам нужно добавить ссылку на библиотеки json для анализа подписанного запроса в C #, скачать с http://json.codeplex.com/
Также обратитесь к Как декодировать OAuth 2.0 для Canvas Sign_Request в C #? , если вы беспокоитесь о подписанном запросе.