如何解决.NET 5 HttpClient 摘要身份验证
我正在尝试使用 HttpClient
在 .NET 5 中进行摘要式身份验证以使用 mongoDB Atlas。 .Net Core HttpClient Digest Authentication 中建议的解决方法不再适用于 .NET 5。
例如这段代码
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler",false);
var httpClient = new HttpClient(
new httpclienthandler
{
Credentials =
new NetworkCredential(
userName,password)
});
var domain = "https://cloud.mongodb.com/";
var response = httpClient.GetAsync(new Uri($"{domain}api/atlas/v1.0/groups/{groupId}")).Result;
当目标框架为 .net core 3.1 时,返回 200 ok 并提供正确的数据
但是当目标框架是 .NET 5 时,http 客户端不处理幕后的摘要流并返回
StatusCode: 401,ReasonPhrase: 'Unauthorized',Version: 1.1,Content: System.Net.Http.httpconnectionResponseContent,Headers:
{
WWW-Authenticate: Digest realm="MMS Public API",domain="",nonce=""generatednonce"",algorithm=MD5,qop="auth",stale=false
x-envoy-upstream-service-time: 2
Date: Sun,17 Jan 2021 13:37:12 GMT
Server: envoy
Content-Type: application/json
Content-Length: 106
}
有谁知道我除了自己实现摘要流程之外还有其他选择吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。