0

WebAuthBroker を使用して、文字列を作成して https に投稿する Windows 8 アプリがあります。関連するコードは以下です。

問題は、WebAuthBroker がこの URI を取得して接続できないことですが、この URI を IE に hand=post すると正常に動作します。

Windows 8 で VS2012 を実行しています。Package.appmanifest で、エンタープライズ認証、インターネット (クライアント)、インターネット (クライアントとサーバー)、プライベート ネットワーク (クライアントとサーバー)、および共有ユーザー証明書を有効にします。

            async Task AuthenticateAsync()
    {
        var requestUriStr = string.Format("{0}?client_id={1}&response_type=token&redirect_uri={2}", logonUriString, clientId, redirectUriString);

        requestUriStr += "&scope=stream";

        var requestUri = new Uri(requestUriStr, UriKind.RelativeOrAbsolute);
        var redirectUri = new Uri(redirectUriString, UriKind.RelativeOrAbsolute);

        var result = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, requestUri, redirectUri);

        if (result.ResponseStatus != WebAuthenticationStatus.Success)
        {
            throw new Exception("Login failed: " + result.ResponseErrorDetail);
        }
4

1 に答える 1

3

私は自分の問題を見つけました。差出人:http ://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/13d3742d-4b6b-444e-840e-a4db11462a08

Fiddlerを使用してHTTPリクエストをデバッグすると、WebAuthenticationBrokerが機能しなくなることがわかりました。これは、このアプリで提供されている「HTTPSトラフィックの復号化」オプションに関連している場合と関連していない場合がありますが、Fiddlerを閉じるとすぐに、WebAuthenticationBrokerが再び機能し始めました。Fiddlerを再起動することでバグを自由に再現し、閉じることで問題を解決できます。

FiddlerのHTTPSオプションを有効または無効にすると、WebAuthenticationBrokerクラスとメソッドの使用に影響するかどうかについては高度な調査を行いませんでしたが、一見すると、HTTPSをほとんど無効にしないと再び機能するように見えます。私は通常、安全のために個人的に閉じます。

そのため、書き込み/デバッグを行っている間、Fiddlerを開いてもらいました。Fiddlerを閉じて、初めて動作しました。

于 2012-09-12T02:31:23.463 に答える