Fixed: Calibre authentication with Basic auth

This commit is contained in:
ta264
2021-11-14 21:06:02 +00:00
parent 0bb391235f
commit 5d63ef01b6
2 changed files with 17 additions and 3 deletions
@@ -823,7 +823,7 @@ namespace NzbDrone.Common.Test.Http
} }
[Test] [Test]
public void should_correctly_use_basic_auth() public void should_correctly_use_basic_auth_with_basic_network_credential()
{ {
var request = new HttpRequest($"https://{_httpBinHost}/basic-auth/username/password"); var request = new HttpRequest($"https://{_httpBinHost}/basic-auth/username/password");
request.Credentials = new BasicNetworkCredential("username", "password"); request.Credentials = new BasicNetworkCredential("username", "password");
@@ -833,6 +833,17 @@ namespace NzbDrone.Common.Test.Http
response.StatusCode.Should().Be(HttpStatusCode.OK); response.StatusCode.Should().Be(HttpStatusCode.OK);
} }
[Test]
public void should_correctly_use_basic_auth_with_network_credential()
{
var request = new HttpRequest($"https://{_httpBinHost}/basic-auth/username/password");
request.Credentials = new NetworkCredential("username", "password");
var response = Subject.Execute(request);
response.StatusCode.Should().Be(HttpStatusCode.OK);
}
[Test] [Test]
public void should_correctly_use_digest_auth() public void should_correctly_use_digest_auth()
{ {
@@ -68,8 +68,11 @@ namespace NzbDrone.Common.Http.Dispatchers
else if (request.Credentials is NetworkCredential nc) else if (request.Credentials is NetworkCredential nc)
{ {
var creds = GetCredentialCache(); var creds = GetCredentialCache();
creds.Remove((Uri)request.Url, "Digest"); foreach (var authtype in new[] { "Basic", "Digest" })
creds.Add((Uri)request.Url, "Digest", nc); {
creds.Remove((Uri)request.Url, authtype);
creds.Add((Uri)request.Url, authtype, nc);
}
} }
} }