Desktop: Cannot login to NC 14 RC1

Created on 28 Aug 2018  路  11Comments  路  Source: nextcloud/desktop

With the lastest build of 2.5 trying to log in to a RC1 NC 14 the client is stuck without an error message.

This happens using app passwords and also "normal" login (with 2FA though).

The log seems to indicate that somewhere a protocol string is missing after successful login:

[OCC::OwncloudSetupWizard::slotSystemProxyLookupDone    No system proxy set by OS
[OCC::AccessManager::createRequest  2 "" "https://cloud.domain.com/status.php" has X-Request-ID "ff086ea1-0460-4278-b3b7-1ca1d599b556"
[OCC::AbstractNetworkJob::start     OCC::CheckServerJob created for "https://cloud.domain.com" + "status.php" "OCC::OwncloudSetupWizard"
[OCC::CheckServerJob::finished  status.php returns:  QJsonDocument({"edition":"","installed":true,"maintenance":false,"needsDbUpgrade":false,"productname":"Cloud","version":"14.0.0.17","versionstring":"14.0.0 RC 1"})   QNetworkReply::NetworkError(NoError)  Reply:  QNetworkReplyHttpImpl(0x563e7906f820)
[OCC::DetermineAuthTypeJob::start   Determining auth type for QUrl("https://cloud.domain.com/remote.php/webdav/")
[OCC::AccessManager::createRequest  2 "" "https://cloud.domain.com/remote.php/webdav/" has X-Request-ID "567bcf99-3745-434e-9ba0-8edd1da079b9"
[OCC::AbstractNetworkJob::start     OCC::SimpleNetworkJob created for "https://cloud.domain.com" + "" "OCC::Account"
[OCC::AccessManager::createRequest  6 "PROPFIND" "https://cloud.domain.com/remote.php/webdav/" has X-Request-ID "6d6df2e0-180b-48a8-99cc-856bd15f6391"
[OCC::AbstractNetworkJob::start     OCC::SimpleNetworkJob created for "https://cloud.domain.com" + "" "OCC::Account"
[OCC::DetermineAuthTypeJob::checkBothDone   Auth type for QUrl("https://cloud.domain.com/remote.php/webdav/") is 3
[OCC::WebViewPage::initializePage   Url to auth at:  "https://cloud.domain.com/index.php/login/flow"
[unknown    QPixmap::scaled: Pixmap is a null pixmap
[unknown    QPixmap::scaled: Pixmap is a null pixmap
[unknown    QPixmap::scaled: Pixmap is a null pixmap
[OCC::WebViewPageUrlSchemeHandler::requestStarted   Got user:  "aleho" , server:  "cloud.domain.com"
[OCC::WebViewPage::urlCatched   Got user:  "aleho" , server:  "cloud.domain.com"
[OCC::WebViewPage::urlCatched   URL:  "https://cloud.domain.com"
[OCC::OwncloudSetupWizard::slotConnectToOCUrl   Connect to url:  "cloud.domain.com"
[OCC::WebFlowCredentials::createQNAM    Get QNAM
[OCC::AccessManager::createRequest  6 "PROPFIND" "cloud.domain.com/remote.php/webdav/" has X-Request-ID "a8353786-3810-4058-9dd0-bff86389f6c3"
[OCC::AbstractNetworkJob::start     OCC::PropfindJob created for "://cloud.domain.com" + "/" "OCC::OwncloudSetupWizard"
[OCC::WebFlowCredentials::slotFinished  request finished
[OCC::AbstractNetworkJob::slotFinished  QNetworkReply::NetworkError(ProtocolUnknownError) "Protocol \"\" is unknown" QVariant(Invalid)
[OCC::WebFlowCredentials::stillValid    Still valid?
[OCC::WebFlowCredentials::stillValid    QNetworkReply::NetworkError(ProtocolUnknownError)
[OCC::WebFlowCredentials::stillValid    "Protocol \"\" is unknown"
[OCC::PropfindJob::finished     PROPFIND of QUrl("") FINISHED WITH STATUS "ProtocolUnknownError Protocol \"\" is unknown"
[OCC::PropfindJob::finished     *not* successful, http result code is 0 ""
[OCC::WebFlowCredentials::stillValid    Still valid?
[OCC::WebFlowCredentials::stillValid    QNetworkReply::NetworkError(ProtocolUnknownError)
[OCC::WebFlowCredentials::stillValid    "Protocol \"\" is unknown"

Most helpful comment

Glad it works now.

All 11 comments

Could be related to #592

I traced the missing protocol string back to an event (?) where apparently the host is used instead of the full URL, so I quickly checked whether the patch below would fix my problems, but apparently the request is not authorized.

diff --git a/src/gui/wizard/webviewpage.cpp b/src/gui/wizard/webviewpage.cpp
index 3ce0c4cf9..141c69ac8 100644
--- a/src/gui/wizard/webviewpage.cpp
+++ b/src/gui/wizard/webviewpage.cpp
@@ -63,11 +63,13 @@ void WebViewPage::urlCatched(QString user, QString pass, QString host) {
     _user = user;
     _pass = pass;

+    QString url = field("OCUrl").toString();
+
     AccountPtr account = _ocWizard->account();
-    account->setUrl(host);
+    account->setUrl(url);

-    qCInfo(lcWizardWebiewPage()) << "URL: " << field("OCUrl").toString();
-    emit connectToOCUrl(host);
+    qCInfo(lcWizardWebiewPage()) << "URL: " << url;
+    emit connectToOCUrl(url);
 }

 }
[OCC::OwncloudSetupWizard::slotSystemProxyLookupDone    No system proxy set by OS
[OCC::AccessManager::createRequest  2 "" "https://cloud.domain.com/status.php" has X-Request-ID "6355bc92-542a-4ec6-90e3-6f1a5d2cd703"
[OCC::AbstractNetworkJob::start     OCC::CheckServerJob created for "https://cloud.domain.com" + "status.php" "OCC::OwncloudSetupWizard"
[OCC::CheckServerJob::finished  status.php returns:  QJsonDocument({"edition":"","installed":true,"maintenance":false,"needsDbUpgrade":false,"productname":"Cloud","version":"14.0.0.18","versionstring":"14.0.0 RC 2"})   QNetworkReply::NetworkError(NoError)  Reply:  QNetworkReplyHttpImpl(0x5569c3f38d80)
[OCC::DetermineAuthTypeJob::start   Determining auth type for QUrl("https://cloud.domain.com/remote.php/webdav/")
[OCC::AccessManager::createRequest  2 "" "https://cloud.domain.com/remote.php/webdav/" has X-Request-ID "05270ca2-3f03-4a9c-b119-eb5fbfeb53a7"
[OCC::AbstractNetworkJob::start     OCC::SimpleNetworkJob created for "https://cloud.domain.com" + "" "OCC::Account"
[OCC::AccessManager::createRequest  6 "PROPFIND" "https://cloud.domain.com/remote.php/webdav/" has X-Request-ID "4fca73f8-81d3-41c3-a35e-cdfeabb283a8"
[OCC::AbstractNetworkJob::start     OCC::SimpleNetworkJob created for "https://cloud.domain.com" + "" "OCC::Account"
[OCC::DetermineAuthTypeJob::checkBothDone   Auth type for QUrl("https://cloud.domain.com/remote.php/webdav/") is 3
[OCC::WebViewPage::initializePage   Url to auth at:  "https://cloud.domain.com/index.php/login/flow"
[OCC::WebViewPageUrlSchemeHandler::requestStarted   Got user:  "aleho" , server:  "cloud.domain.com"
[OCC::WebViewPage::urlCatched   Got user:  "aleho" , server:  "cloud.domain.com"
[OCC::WebViewPage::urlCatched   URL:  "https://cloud.domain.com"
[OCC::OwncloudSetupWizard::slotConnectToOCUrl   Connect to url:  "cloud.domain.com"
[OCC::WebFlowCredentials::createQNAM    Get QNAM
[OCC::AccessManager::createRequest  6 "PROPFIND" "https://cloud.domain.com/remote.php/webdav/" has X-Request-ID "a349fed4-8b01-4c8e-831f-8143c346f6c6"
[OCC::AbstractNetworkJob::start     OCC::PropfindJob created for "https://cloud.domain.com" + "/" "OCC::OwncloudSetupWizard"
[OCC::WebFlowCredentials::slotFinished  request finished
[OCC::WebFlowCredentials::stillValid    Still valid?
[OCC::WebFlowCredentials::stillValid    QNetworkReply::NetworkError(AuthenticationRequiredError)
[OCC::WebFlowCredentials::stillValid    "Error transferring https://cloud.domain.com/remote.php/webdav/ - server replied: "
[OCC::PropfindJob::finished     PROPFIND of QUrl("https://cloud.domain.com/remote.php/webdav/") FINISHED WITH STATUS "AuthenticationRequiredError Error transferring https://cloud.domain.com/remote.php/webdav/ - server replied: "
[OCC::PropfindJob::finished     *not* successful, http result code is 401 ""
[OCC::WebFlowCredentials::stillValid    Still valid?
[OCC::WebFlowCredentials::stillValid    QNetworkReply::NetworkError(AuthenticationRequiredError)
[OCC::WebFlowCredentials::stillValid    "Error transferring https://cloud.domain.com/remote.php/webdav/ - server replied: "

Nginx Log:

127.0.0.1 - - [03/Sep/2018:23:13:47 +0200] "PROPFIND /remote.php/webdav/ HTTP/2.0" 401 414 "-" "Mozilla/5.0 (Linux) mirall/2.5.0git (Nextcloud)"

624 didn't fix this problem for me.

Please let me know if you cannot reproduce my setup and need an environment to test against. I'd be happy to provide you with a test account.

Oh, and for the sake of completness: Access via WebDAV works in Nautilus.

@aleho could you provide me with test credentials to your instance?

With pleasure! How can I contact you?

@aleho o sorry I missed your notification. roeland at nextcloud.com works :)

So I tested with the credentials you send me.

I can login just fine using the normal flow. With and without 2FA.
However I can reproduce the manual apptoken issue. I'll see if I can fix that.

Fix for the apptoken is in https://github.com/nextcloud/server/pull/12177
I'll make sure that gets backported as well.

@aleho can you still reproduce it with a regular login?

I can confirm that regular logins work now, tested on two systems.

Glad it works now.

Was this page helpful?
0 / 5 - 0 ratings