Мой вопрос очень похож this, но я думаю, мне нужно сделать это еще на один шаг.Читать OAuth2.0 Signed_Request Регистрация на Facebook C# MVC
Facebook говорит: «Данные передаются вашему приложению в качестве подписанного запроса. Параметр signed_request - это простой способ убедиться, что данные, которые вы получаете, являются фактическими данными, отправленными Facebook».
После того, как пользователь зашел на мой сайт с asp C# MVC и нажал «Зарегистрироваться», URL-адрес перенаправления http://site/account/register. В этот момент (сообщение в элементе управления учетной записью/регистром) я хотел бы получить информацию пользователя, используя подписанный запрос, чтобы я мог зарегистрировать их на моем сайте локально. Я не могу понять, как получить доступ к данным, доступным в facebook.
$data = json_decode(base64_url_decode($payload), true);
Что такое эквивалент в C#? Какой тип переменной/данных передается facebook в сообщении? И как мне получить доступ к «$ полезной нагрузке»?
[HttpPost]
public ActionResult RegisterFacebook(RegisterFacebookModel model)
{
Facebook.FacebookSignedRequest sr = Facebook.FacebookSignedRequest.Parse("secret", model.signed_request);
return View(model);
}
Спасибо за ваш ответ, Натан. У меня было мало времени, и у меня еще не было возможности повторить тест, но то, что вы показали, имеет смысл. Я также посмотрю на SDK. – Josh
Думаю, я до сих пор не понимаю, как реализовать это (или SDK). Является ли signed_request отправленным как сообщение в redirect-uri в fb: регистрационном коде? Я использую js SDK для входа/регистрации, но затем пытаюсь использовать FacebookAPI, на который вы ссылались для более глубокой интеграции, когда обрабатывается членский материал. Я думаю, если бы я мог пройти мимо этого момента, я был бы хорош ... Я просто повесил трубку. Я создаю проект MVC и пытаюсь указать обратный вызов регистрации на обработчик http-почты, но затем нужно декодировать объект json, который должен отправить fb. Но я ничего не получил. – Josh
Nathan - могу я попросить быстрое наблюдение сейчас, когда я использую SDK - я вижу все параметры из signed_request, кроме параметров «Регистрация». (т. е. «регистрация»: { «имя»: «Пол Тарьян» ... я что-то не так? Когда я отправляю на тестовую страницу в facebook, я вижу их, но они недоступны после прохождения декодирования SDK . "электронная почта": "[email protected]", "место": { "имя": "Сан-Франциско, Калифорния", "идентификатор": 114952118516947 }, – Josh