summaryrefslogtreecommitdiffstats
path: root/src/network/access/qnetworkaccessmanager.cpp
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2020-09-04 20:31:41 +0200
committerMårten Nordheim <marten.nordheim@qt.io>2020-09-11 11:30:56 +0200
commit9021d4bbf0795cae601fe2bd656e15ae63f97e61 (patch)
treed61d336515a1195b78b0f43ea76f4db43d4fb299 /src/network/access/qnetworkaccessmanager.cpp
parent2c7152ba094f8b2d9fea30cbe94af70b62028949 (diff)
QAuthenticator: Don't assume cached credentials are new
Although this is more of a QNAM thing. In some cases what we load from the cache might be credentials we have already tried (and failed with, thus leading us to emit the authenticationRequired signal). With this patch we will fall through more often and ask the user for credentials. Pick-to: 5.15 Change-Id: If2a556883c3ea5b0b225f4df273d38353b552b54 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/network/access/qnetworkaccessmanager.cpp')
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index b82864c52e..4d6bc58b00 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -1519,7 +1519,8 @@ void QNetworkAccessManagerPrivate::authenticationRequired(QAuthenticator *authen
}
QNetworkAuthenticationCredential cred = authenticationManager->fetchCachedCredentials(url, authenticator);
- if (!cred.isNull()) {
+ if (!cred.isNull()
+ && (cred.user != authenticator->user() || cred.password != authenticator->password())) {
authenticator->setUser(cred.user);
authenticator->setPassword(cred.password);
*urlForLastAuthentication = url;