我正在使用C#开发metroapp,我一直在从我的应用程序调用web服务,这需要用户名和密码来访问它(我有)所以,任何人都可以解释我如何做Basic Auth来制作一个网络服务电话。任何带有示例的链接或文章都是值得注意的。 提前谢谢。
答案 0 :(得分:4)
我假设您正在讨论基本Http身份验证,如果您使用HttpClient进行Web服务调用,则可以使用以下代码启用set a Basic身份验证标头。
var request = new HttpRequestMessage(HttpMethod.Get, uri);
var token = Convert.ToBase64String(Encoding.UTF8.GetBytes(String.Format("{0}:{1}", username, password)));
request.Headers.Authorization = new AuthenticationHeaderValue("Basic", token);
最简单(也是最干净)的方式:
var handler = new HttpClientHandler {
Credentials = new NetworkCredential(username, password)
};
var httpClient = new HttpClient(handler);
var response = await httpClient.GetAsync(uriString);
答案 1 :(得分:2)
我假设您指的是OAuth,并且Metro中的实现实际上并不像Web身份验证WinRT API那么难.-但是正如评论您提出的问题的开发人员所建议的那样,您应该拥有如果这个主题对你不熟悉,请仔细阅读。 Maybe start here, look at the documentation.
Pluralsight在WinRT上有许多很棒的视频,以及Web身份验证主题。 在Windows 8下查看 - > Windows 8 Metro Connected Apps - >访问HTTP服务 - > WebAuthBroker direct link here
祝你好运!