windows - 如何从使用 JS 制作的 Windows 8 Native 应用程序将当前 Windows 凭据传递给 WCF REST 服务?

标签 windows rest windows-8 wcf-rest windows-runtime

我正在尝试从我的 Windows 8 应用程序调用 WCF REST 服务,但总是提示我输入凭据。我在包 list 中激活了默认 Windows 凭据,并且正在寻找相当于

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

使用 javascript 时。

该服务设置为使用 Windows 身份验证,并且在从 IE9 调用时可以正常工作。

最佳答案

您可以使用 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 style app for banking: code walkthrough具有多种身份验证方案和 Web Authentication .

Live SDK Developer Preview还将使您能够“利用在 Windows Developer Preview 中使用 Windows Live ID 的单点登录方案”。

关于windows - 如何从使用 JS 制作的 Windows 8 Native 应用程序将当前 Windows 凭据传递给 WCF REST 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8939583/

相关文章:

java - 使用 Google OAuth2 授权服务器保护 Spring RESTful API

java - JQuery ajax GET请求,响应状态为200 OK时未触发成功

c++ - 从桌面应用程序使用 Windows 8 Toast 通知

javascript - 带有 jQ​​uery DataTables 的自定义 REST 数据源

windows-8 - 在 Visual Studio 2015 中构建 Windows 8 商店应用程序

c# - 使用 Visual Studio 11 (Windows 8) 在 XAML 中添加超链接按钮

python - 需要一种方法来确定文件是否已写入

windows - windows curl 失败

c# - 内容感知填充如何在 Photoshop 中工作?

windows - Visual Studio 2010 的 Latex 插件