2012-05-03 3 views
2

Я хочу аутентифицировать приложение Windows 8 через OAuth на службе. Это работает с помощью элемента управления WebView и навигации пользователя с правильным URL-адресом для службы, в которой выполняется аутентификация.Как получить RedirectURL из управления WinRT WebView

Если пользователь аутентифицирован службой, он перенаправляется на страницу успеха.

Я хотел бы получить информацию об этом перенаправлении, чтобы я мог запускать приложение автоматически.

Я пробовал событие LoadComplete, которое запускается при загрузке страницы, но там я получаю запрос uri, но не перенаправление uri.

webView.LoadCompleted += webView_LoadCompleted; 
webView.Navigate(new Uri("service uri)); 

Кто-нибудь идея HOWTO получить URL переадресации, или, по крайней мере, содержание страницы (это я мог разобрать и искать что-то вроде «большой, вы аутентифицировать»)

+0

Вы перенаправлении на HTTP: // локальный: 8080 (или любой другой порт)? Когда вы получаете запрос там, это означает, что вы готовы к работе. – kiewic

ответ

4

Существует встроенный в механизме для этого, который более безопасен для пользователей (приложения не могут отслеживать пароли). См веб-аутентификации брокера: http://code.msdn.microsoft.com/windowsapps/Web-Authentication-d0485122

+0

+1 Еще одна плюс - пользовательский интерфейс совместим с другими приложениями, входящими в веб-службы. – Patrick

2

Вы можете получить содержание WebView страницы делает что-то вроде этого:

private void webView_LoadCompleted_1(object sender, NavigationEventArgs e) 
{ 
    WebView webView = sender as WebView; 
    string html = webView.InvokeScript("eval", new string[] {"document.documentElement.outerHTML;"}); 

    // Here you can parse html .... 
} 
Смежные вопросы