2012-01-20 10 views
4

私はWindows 8のアプリケーションからWCF RESTサービスを呼び出そうとしています。私は常に資格情報の入力を求められます。私は、パッケージマニフェストで活性化既定のWindows資格情報を持っているとJavaScriptを使用している場合JSを使用して作成されたWindows 8ネイティブアプリからWCF RESTサービスに現在のWindowsクレデンシャルを渡すにはどうすればよいですか?

HttpClientHandler handler = new HttpClientHandler(); 
handler.UseDefaultCredentials = true; 

の同等を探しています。

サービスはWindows認証を使用するように設定されており、IE9から呼び出すと正常に動作します。

+0

解決策は見つかりましたか?私は同じ問題を抱えています。 – KANAX

+0

こんにちはKANAX、私は本当にこの時の解決策を見いだしたことはありません。私が正しく覚えていれば、WinJSの使用を中止して、問題がなかったC#に移動しなければなりませんでした。申し訳ありませんが私はこれ以上の助けになることはできません、私は詳細を覚えていません。 – Samarth

+0

お返事ありがとうございます!私はまだ私の部分のためにこれに対する解決策を探しています – KANAX

答えて

0

Winjs.xhrをコールに使用できます。 appxmanifestにdefaultWindowsCredentialsが設定されていることを確認してください。

使用例:

WinJS.xhr({ 
    url: requestUrl, user: 'username', pass: 'password, headers: { accept: 'application/json'} 
}).then(
    function (req) { 
    var data = JSON.parse(req.response); 
    document.getElementById('foo').innerHTML = data.d[0].; 
    // Now call the user-supplied callback function when this data is ready 
    c({ 
     results: data.d, 
     number: data.d.length 
    }); 
}, //Error func 
    function (req) { 
    e(req); 
}, //progress func 
    function (req) { 
    p(req); 
} 
); 

はまた、ユーザーC#プロジェクトは、WCF通信の世話をするとJavascriptプロジェクトCALそれのメソッドを持っている可能性があります。

その他autheticationパス:

Windows.Security.Authentication.Liveは「自分のWindows Live IDを使用してユーザーを認証するためには、Windows Liveを使用してMetroスタイルアプリを有効にします」

また、いくつかの認証シナリオでとWeb AuthenticationMetro style app for banking: code walkthroughを見てみましょう。

Live SDK Developer Previewは、「WindowsデベロッパープレビューでWindows Live IDを使用したシングルサインオンシナリオを利用する」ことができます。

+0

こんにちは、ありがとう! ユーザーに資格情報を要求する代わりに、現在のセキュリティコンテキストを使用するアプリケーションを取得できますか? C#コードはこれで動作しますが、私はWinJS相当のものを探していました。 – Samarth

関連する問題