diff options
author | Hannah von Reth <hannah.vonreth@owncloud.com> | 2020-11-09 16:20:36 +0300 |
---|---|---|
committer | Hannah von Reth <vonreth@kde.org> | 2020-11-10 14:13:39 +0300 |
commit | 3d5249d7e2b3d3865011508214425908a2575748 (patch) | |
tree | fdf836183241757c219ddf15add194e382aa6835 /src | |
parent | dc1eebe074ed1049d6ff79653cd01cc815c96ab2 (diff) |
Revert "Add idp username, used for oidc authentication"
This reverts commit b9a0df55ad0677c354f84c6f9d0fa01a471f4713.
The issue of getting ocis internal identifier instead of the user name
was fixed in ocis.
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/accountmanager.cpp | 9 | ||||
-rw-r--r-- | src/gui/connectionvalidator.cpp | 9 | ||||
-rw-r--r-- | src/gui/owncloudsetupwizard.cpp | 9 | ||||
-rw-r--r-- | src/libsync/account.cpp | 10 | ||||
-rw-r--r-- | src/libsync/account.h | 8 | ||||
-rw-r--r-- | src/libsync/creds/oauth.cpp | 18 |
6 files changed, 12 insertions, 51 deletions
diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp index af024322b..0fdcbc53a 100644 --- a/src/gui/accountmanager.cpp +++ b/src/gui/accountmanager.cpp @@ -28,7 +28,6 @@ namespace { static const char urlC[] = "url"; static const char userC[] = "user"; static const char httpUserC[] = "http_user"; - const QString davUserC() { return QStringLiteral("dav_user"); @@ -38,12 +37,6 @@ const QString davUserDisplyNameC() { return QStringLiteral("display-name"); } - -const QString idpUserNameC() -{ - return QLatin1String("idpUserName"); -} - static const char caCertsKeyC[] = "CaCertificates"; static const char accountsC[] = "Accounts"; static const char versionC[] = "version"; @@ -233,7 +226,6 @@ void AccountManager::saveAccountHelper(Account *acc, QSettings &settings, bool s settings.setValue(QLatin1String(urlC), acc->_url.toString()); settings.setValue(davUserC(), acc->_davUser); settings.setValue(davUserDisplyNameC(), acc->_displayName); - settings.setValue(idpUserNameC(), acc->_idpUserName); settings.setValue(QLatin1String(serverVersionC), acc->_serverVersion); if (acc->_credentials) { if (saveCredentials) { @@ -301,7 +293,6 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings) acc->_serverVersion = settings.value(QLatin1String(serverVersionC)).toString(); acc->_davUser = settings.value(davUserC()).toString(); acc->_displayName = settings.value(davUserDisplyNameC()).toString(); - acc->setIdpUserName(settings.value(idpUserNameC()).toString()); // We want to only restore settings for that auth type and the user value acc->_settingsMap.insert(QLatin1String(userC), settings.value(userC)); diff --git a/src/gui/connectionvalidator.cpp b/src/gui/connectionvalidator.cpp index 8763dce7c..0e1125418 100644 --- a/src/gui/connectionvalidator.cpp +++ b/src/gui/connectionvalidator.cpp @@ -299,19 +299,14 @@ bool ConnectionValidator::setAndCheckServerVersion(const QString &version) void ConnectionValidator::slotUserFetched(const QJsonDocument &json) { - const auto data = json.object().value("ocs").toObject().value("data").toObject(); - const QString user = data.value("id").toString(); + QString user = json.object().value("ocs").toObject().value("data").toObject().value("id").toString(); if (!user.isEmpty()) { _account->setDavUser(user); } - const QString displayName = data.value("display-name").toString(); + QString displayName = json.object().value("ocs").toObject().value("data").toObject().value("display-name").toString(); if (!displayName.isEmpty()) { _account->setDavDisplayName(displayName); } - const QString userName = data.value("username").toString(); - if (!userName.isEmpty()) { - _account->setIdpUserName(userName); - } #ifndef TOKEN_AUTH_ONLY AvatarJob *job = new AvatarJob(_account, _account->davUser(), 128, this); job->setTimeout(20 * 1000); diff --git a/src/gui/owncloudsetupwizard.cpp b/src/gui/owncloudsetupwizard.cpp index 366a30b80..bcb124403 100644 --- a/src/gui/owncloudsetupwizard.cpp +++ b/src/gui/owncloudsetupwizard.cpp @@ -313,13 +313,8 @@ void OwncloudSetupWizard::testOwnCloudConnect() auto userJob = new JsonApiJob(account, QStringLiteral("ocs/v2.php/cloud/user"), this); connect(userJob, &JsonApiJob::jsonReceived, this, [account](const QJsonDocument &json, int status) { if (status == 200) { - const auto data = json.object().value(QStringLiteral("ocs")).toObject().value(QStringLiteral("data")).toObject(); - const QString userName = data.value(QStringLiteral("username")).toString(); - const QString displayName = data.value(QStringLiteral("display-name")).toString(); - account->setDavDisplayName(displayName); - if (!userName.isEmpty()) { - account->setIdpUserName(userName); - } + const QString user = json.object().value(QStringLiteral("ocs")).toObject().value(QStringLiteral("data")).toObject().value(QStringLiteral("display-name")).toString(); + account->setDavDisplayName(user); } }); userJob->start(); diff --git a/src/libsync/account.cpp b/src/libsync/account.cpp index 9355551de..8cea27139 100644 --- a/src/libsync/account.cpp +++ b/src/libsync/account.cpp @@ -78,16 +78,6 @@ void Account::setSharedThis(AccountPtr sharedThis) _sharedThis = sharedThis.toWeakRef(); } -QString Account::idpUserName() const -{ - return _idpUserName; -} - -void Account::setIdpUserName(const QString &userName) -{ - _idpUserName = userName; -} - AccountPtr Account::sharedFromThis() { return _sharedThis.toStrongRef(); diff --git a/src/libsync/account.h b/src/libsync/account.h index 2c99f12d7..1cade3ab6 100644 --- a/src/libsync/account.h +++ b/src/libsync/account.h @@ -233,13 +233,6 @@ public: /// Called by network jobs on credential errors, emits invalidCredentials() void handleInvalidCredentials(); - /** - * user name used by the idp to identify the user - * this might differ from the dav user - **/ - QString idpUserName() const; - void setIdpUserName(const QString &userName); - public slots: /// Used when forgetting credentials void clearQNAMCache(); @@ -278,7 +271,6 @@ private: QString _id; QString _davUser; QString _displayName; - QString _idpUserName; #ifndef TOKEN_AUTH_ONLY QPixmap _avatarImg; #endif diff --git a/src/libsync/creds/oauth.cpp b/src/libsync/creds/oauth.cpp index 240f26898..7bd3ea0ba 100644 --- a/src/libsync/creds/oauth.cpp +++ b/src/libsync/creds/oauth.cpp @@ -170,12 +170,7 @@ void OAuth::startAuthentication() tr("<h1>Login Error</h1><p>Failed to retrieve user info</p>").toUtf8()); emit result(Error); } else { - const auto data = json.object().value(QStringLiteral("ocs")).toObject().value(QStringLiteral("data")).toObject(); - const QString user = data.value(QStringLiteral("id")).toString(); - const QString username = data.value(QStringLiteral("username")).toString(); - if (!username.isEmpty()) { - _account->setIdpUserName(username); - } + const QString user = json.object().value(QStringLiteral("ocs")).toObject().value(QStringLiteral("data")).toObject().value(QStringLiteral("id")).toString(); finalize(socket, accessToken, refreshToken, user, messageUrl); } }); @@ -313,11 +308,14 @@ QUrl OAuth::authorisationLink() const { QStringLiteral("prompt"), Theme::instance()->openIdConnectPrompt() }, { QStringLiteral("state"), QString::fromUtf8(_state) }, { QStringLiteral("display"), Theme::instance()->appNameGUI() } }); - if (!_account->idpUserName().isNull()) { - query.addQueryItem(QStringLiteral("login_hint"), _account->idpUserName()); + + if (!_account->davUser().isNull()) { + const QString davUser = _account->davUser().replace(QLatin1Char('+'), QStringLiteral("%2B")); // Issue #7762; + // open id connect + query.addQueryItem(QStringLiteral("login_hint"), davUser); + // oc 10 + query.addQueryItem(QStringLiteral("user"), davUser); } - if (!_account->davUser().isNull()) - query.addQueryItem(QStringLiteral("user"), _account->davUser().replace(QLatin1Char('+'), QStringLiteral("%2B"))); // Issue #7762 const QUrl url = _authEndpoint.isValid() ? Utility::concatUrlPath(_authEndpoint, {}, query) : Utility::concatUrlPath(_account->url(), QStringLiteral("/index.php/apps/oauth2/authorize"), query); |