Как передать текущие учетные данные Windows службе WCF REST из собственного приложения Windows 8, созданного с использованием JS? - PullRequest
4 голосов
/ 20 января 2012

Я пытаюсь вызвать службу WCF REST из моего приложения для Windows 8, и мне всегда предлагается ввести учетные данные.У меня активированы учетные данные Windows по умолчанию в манифесте пакета, и я ищу эквивалент

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

при использовании javascript.

Служба настроена на использование аутентификации Windows и работает нормально при вызовеот IE9.

1 Ответ

0 голосов
/ 20 января 2012

Вы можете использовать Winjs.xhr для звонка. Убедитесь, что defaultWindowsCredentials установлены в appxmanifest (как вы и сказали).

Пример использования:

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 для определения его методов.

Другие пути аутентификации:

Windows.Security.Authentication.Live «Позволяет приложениям в стиле Metro использовать Windows Live для аутентификации пользователей с использованием их идентификатора Windows Live ID»

Также обратите внимание на Приложение в стиле Metro для банковской деятельности: пошаговое руководство по коду с несколькими сценариями аутентификации и Веб-аутентификация .

Live SDK Developer Preview также позволит вам "воспользоваться преимуществами сценариев единого входа с использованием Windows Live ID в Windows Developer Preview".

...