2

サービスで OAuth を介して Windows 8 アプリを認証したいと考えています。これは、WebView コントロールを使用して機能し、認証が行われるサービスへの適切な URL を使用してユーザーをナビゲートします。

ユーザーがサービスによって認証されると、ユーザーは成功ページにリダイレクトされます。

アプリケーションを自動的に起動できるように、このリダイレクトに関する情報を取得したいと思います。

ページが読み込まれたときに発生する LoadComplete イベントを試しましたが、リクエスト uri しか取得できず、リダイレクト uri は取得できません。

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

リダイレクト URL、または少なくともページ コンテンツを取得する方法を知っている人はいますか (これを解析して、「認証済みです」のようなものを探すことができます)。

4

3 に答える 3

4

これには、ユーザーにとってより安全なメカニズムが組み込まれています (アプリはパスワードをスヌープできません)。Web 認証ブローカーを参照してください: http://code.msdn.microsoft.com/windowsapps/Web-Authentication-d0485122

于 2012-05-03T23:27:52.813 に答える
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 ....
}
于 2012-10-18T15:12:02.430 に答える
1

次の方法を使用して、URL にリダイレクトし、その後のリダイレクトをブロックできます。

WebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
{
    var url = args.Uri.ToString();
    if(url == "")
        args.Cancel = true;
}
于 2018-04-19T02:50:17.217 に答える