Facebook C # SDK и OAuth Серверный поток в ASP.NET 4 - PullRequest
0 голосов
/ 13 июня 2011

Я работаю над браузерным приложением Silverlight 4, из которого мне удалось успешно завершить процесс аутентификации потока на стороне клиента. Я решил лучше перейти к потоку на стороне сервера, но, хотя я предоставляю тот же redirect_uri, который я предоставил в потоке на стороне клиента, как только я получаю «код» от Facebook, я не получаю автоматическое перенаправление на URI. установлено (я получаю access_token, если получаю ответ в виде строки)

Я делаю запросы со страницы .aspx:

            var client = new WebClient();
            client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
            var encoding = new ASCIIEncoding();


            var inputs = new NameValueCollection
                                 {
                                     {"client_id", appId},
                                     {"redirect_uri", "http://localhost:57613/CallbackForm.aspx"},
                                     {"client_secret", "XXXXX"},
                                     {"code", Code}
                                 };

            var result = encoding.GetChars(client.UploadValues("https://graph.facebook.com/oauth/access_token", inputs));
            string asciiString = new string(result); 

Но теперь проблема в том, что мне нужно, чтобы моя страница была перенаправлена ​​с access_token, переданным по URL, чтобы также перезагрузить мой элемент управления Silverlight (он размещен на той же странице .aspx, где у меня есть этот фрагмент кода), потому что мне нужно, чтобы содержимое silverlight загружалось снова, чтобы завершить единственный известный мне способ получения токена доступа со страницы .aspx (вызов функции javascript из silverlight). Может ли кто-нибудь помочь мне и объяснить, как я могу перенаправить страницу при запросе access_token или как я могу передать access_token в элемент управления silverlight другим способом?

Большое спасибо

1 Ответ

0 голосов
/ 28 июня 2011

Произошло изменение в поведении Facebook относительно структуры строки запроса. Это обсуждается в http://facebooksdk.codeplex.com/discussions/261528. Эта ссылка обсуждала изменение процедуры аутентификации, которое должно решить вашу проблему. Мой код использует WPF, а не Silverlight; Я не уверен, относится ли та же проблема к элементу управления Silverlight.

См. Также . Поток на стороне клиента Facebook по-прежнему выдает токены доступа? и SL4 Приложение Facebook больше не получает access_token .

...