Клиентский поток Facebook все еще выдает токены доступа? - PullRequest
0 голосов
/ 23 июня 2011

Раньше я мог создавать элемент управления WebBrowser, перейти к URL-адресу входа (например, http://www.facebook.com/dialog/oauth/?response_type=token&display=popup&scope=user_about_me&client_id=179873125388138&redirect_uri=http%3a%2f%2fwww.facebook.com%2fconnect%2flogin_success.html"),, а затем использовать приведенный ниже код (из примера кода Facebook-C # -SDK), чтобы перехватить событие Navigated и извлечь токен доступа.В последнее время, однако, кажется, что это просто перенаправляет на RedirectURL и не добавляет токен доступа. Произошли ли какие-то изменения в том, как Facebook обрабатывает поток аутентификации в период с февраля по июнь 2011 года? Может быть, это проблема IE9?

Странно то, что я могу вручную отправить обычный браузер IE9 по тому же URL-адресу, и токен доступа добавляется нормально. Только когда я делаю это программно, используя событие WebBrowser.Navigated, я больше не вижузнак.

Спасибо, Джон

    private void webBrowser_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
    {
        FacebookOAuthResult oauthResult;
        if (FacebookOAuthResult.TryParse(e.Uri, out oauthResult))
        {
            this.FacebookOAuthResult = oauthResult;
            this.DialogResult = oauthResult.IsSuccess;
        }
        else
        {
            this.FacebookOAuthResult = null;
        }
    }

1 Ответ

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

Я почти уверен, что это http://facebooksdk.codeplex.com/discussions/261528, взаимодействие между изменением поведения Facebook и проблемой с элементом управления WPF WebBrowser. Я смог обойти свою проблему, переключившись на WinForms. Ссылка обсуждает альтернативный подход, который остается с WPF, но добавляет вызов FacebookOAuthClient.ExchangeCodeForAccessToken ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...