如何从使用 JS 制作的 Windows 8 本机应用程序将当前 Windows 凭据传递到 WCF REST 服务?
我尝试从 Windows 8 应用程序调用 WCF REST 服务,并且总是提示我输入凭据。我在包清单中激活了默认 Windows 凭据,并且正在寻找
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
使用 javascript 时的等效凭据。
该服务设置为使用 Windows 身份验证,并且从 IE9 调用时工作正常。
I am trying to call a WCF REST service from my windows 8 app and I'm always prompted for the credential. I have Default Windows Credentials activated in the package manifest and am looking for the equivalent of
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
when using javascript.
The service is set up to use windows auth and works fine when called from IE9.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 Winjs.xhr 进行调用。确保 defaultWindowsCredentials 在 appxmanifest 中设置(正如您所说) )。
示例用法:
您还可以使用 ac# 项目来处理 WCF 通信并让 Javascript 项目校准它的方法。
其他身份验证路径:
Windows.Security。 Authentication.Live “使 Metro 风格应用程序能够使用 Windows Live 通过 Windows Live ID 对用户进行身份验证”
另请参阅 Metro 风格的银行应用程序:代码演练,具有多种身份验证方案和到Web 身份验证。
Live SDK 开发者预览版还将使您能够“利用 Windows Developer Preview 中的 Windows Live ID 的单点登录方案”。
You can use Winjs.xhr for the call. Make sure defaultWindowsCredentials are set in appxmanifest (as you said they are).
Sample usage:
You could also user a c# project to take care of WCF communication and have the Javascript project cal it's methods.
Other authetication paths:
The Windows.Security.Authentication.Live "Enables Metro style apps to use Windows Live to authenticate users using their Windows Live ID"
Also take a look at Metro style app for banking: code walkthrough with several authentication scenarios and to Web Authentication.
Live SDK Developer Preview will lso enable you to "Take advantage of single sign-on scenarios using Windows Live ID in Windows Developer Preview".