Несколько вещей, основанных на ограниченной информации, которую вы предоставили: при попытке завершить чистый выход из системы с помощью брокера веб-аутентификации ваш второй проверенный URL-адрес ближе к отметке, однако у него есть некоторые проблемы:
Начало правильное: "https://www.facebook.com/logout.php?"
URL-адрес перенаправления выхода из системы, переданный в строке запроса в качестве параметра [next], который содержит: "login_success.html", должен быть закодирован в URL-адресе. (в противном случае вы будете перенаправлены на домашнюю страницу, что вы и нашли)
токен доступа, я предполагаю, что это правильно.
когда вы вызываете его, вы окажетесь на пустой странице со словами «успех» на ней и счастливым предупреждающим сообщением от Facebook о том, что вы должны быть осторожны при передаче токена доступа в строке запроса.
Но это не проблема, потому что эти данные недоступны конечному пользователю. При использовании брокера веб-аутентификации.
Следующая проблема, с которой вы столкнетесь после исправления кодировки URL, заключается в том, что пользователь остается на этой уродливой странице с предупреждением о безопасности Facebook, где пользователь должен нажать кнопку «Назад» на своем устройстве, чтобы вернуться в приложение. , что не идеально, и страница с предупреждением Facebook не предлагает конечному пользователю сделать это.
Таким образом, чтобы противодействовать действию этого состояния, брокер веб-аутентификации как другой метод для запуска запроса на выход и обнаружения состояния обратного вызова.
так что лучше показать вам код :)
_logoutUrl = FBClient.GetLogoutUrl(new
{
next = "https://www.facebook.com/connect/login_success.html",
access_token = //your access token (string)
});
var url = new Uri("https://www.facebook.com/connect");
WebAuthenticationBroker.AuthenticateAndContinue(_logoutUrl, url);
вы увидите, что я использовал WebAuthenticationBroker.AuthenticateAndContinue, а не AuthenticateAsync, потому что с аутентификацией и продолжением это позволяет нам предоставить метод со вторым uri/url, который используется под капотом, таким образом, что если Результатом процесса аутентификации является URL-адрес, который (начинается с / содержит), второй URL-адрес, который мы предоставили, а затем это индикатор для автоматического возврата ответа в наше приложение.
поэтому для приведенного выше кода wab (сокращение от брокера веб-аутентификации) запустит свой внутренний контроль веб-просмотра и перейдет к URL-адресу выхода из Facebook, как вы уже знаете, и когда выход завершится, он перенаправит веб-просмотр на URL-адрес : содержащий «login_success.html», и во второй раз (wab) обнаружит, что наш URL-адрес, указанный в качестве второго параметра https://www.facebook.com/connect является частью этого и возвращается обратно в приложение. И токены аутентификации/куки Facebook будут удалены.
person
simon says
schedule
20.03.2016