Merge PR #568: Tado: Fix encoding in login url

master
jenkins 2022-06-17 00:17:09 +02:00
commit 9947089871
1 changed files with 16 additions and 16 deletions

View File

@ -142,16 +142,16 @@ void Tado::getToken(const QString &password)
QNetworkRequest request; QNetworkRequest request;
request.setUrl(QUrl(m_baseAuthorizationUrl)); request.setUrl(QUrl(m_baseAuthorizationUrl));
request.setHeader(QNetworkRequest::KnownHeaders::ContentTypeHeader, "application/x-www-form-urlencoded"); request.setHeader(QNetworkRequest::KnownHeaders::ContentTypeHeader, "application/x-www-form-urlencoded");
QByteArray body; QUrlQuery query;
body.append("client_id=" + m_clientId); query.setQueryItems({{"client_id", m_clientId},
body.append("&client_secret=" + m_clientSecret); {"client_secret", m_clientSecret},
body.append("&grant_type=password"); {"grant_type", "password"},
body.append("&scope=home.user"); {"scope", "home.user"},
body.append("&username=" + m_username); {"username", m_username},
body.append("&password=" + password); {"password", password}});
QNetworkReply *reply = m_networkManager->post(request, body); QNetworkReply *reply = m_networkManager->post(request, query.toString(QUrl::FullyEncoded).toUtf8());
//qCDebug(dcTado()) << "Sending request" << request.url() << body; // qCDebug(dcTado()) << "Sending request" << request.url() << query.toString(QUrl::FullyEncoded).toUtf8();
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater); connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
connect(reply, &QNetworkReply::finished, this, [reply, this] { connect(reply, &QNetworkReply::finished, this, [reply, this] {
@ -567,14 +567,14 @@ void Tado::onRefreshTimer()
QNetworkRequest request; QNetworkRequest request;
request.setUrl(QUrl(m_baseAuthorizationUrl)); request.setUrl(QUrl(m_baseAuthorizationUrl));
request.setHeader(QNetworkRequest::KnownHeaders::ContentTypeHeader, "application/x-www-form-urlencoded"); request.setHeader(QNetworkRequest::KnownHeaders::ContentTypeHeader, "application/x-www-form-urlencoded");
QByteArray body; QUrlQuery query;
body.append("client_id=" + m_clientId); query.setQueryItems({{"client_id", m_clientId},
body.append("&client_secret=" + m_clientSecret); {"client_secret", m_clientSecret},
body.append("&grant_type=refresh_token"); {"grant_type", "refresh_token"},
body.append("&refresh_token=" + m_refreshToken); {"refresh_token", m_refreshToken},
body.append("&scope=home.user"); {"scope", "home.user"}});
QNetworkReply *reply = m_networkManager->post(request, body); QNetworkReply *reply = m_networkManager->post(request, query.toString(QUrl::FullyEncoded).toUtf8());
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater); connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
connect(reply, &QNetworkReply::finished, this, [reply, this] { connect(reply, &QNetworkReply::finished, this, [reply, this] {