Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHannah von Reth <hannah.vonreth@owncloud.com>2020-11-09 16:20:36 +0300
committerHannah von Reth <vonreth@kde.org>2020-11-10 14:13:39 +0300
commit3d5249d7e2b3d3865011508214425908a2575748 (patch)
treefdf836183241757c219ddf15add194e382aa6835 /src
parentdc1eebe074ed1049d6ff79653cd01cc815c96ab2 (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.cpp9
-rw-r--r--src/gui/connectionvalidator.cpp9
-rw-r--r--src/gui/owncloudsetupwizard.cpp9
-rw-r--r--src/libsync/account.cpp10
-rw-r--r--src/libsync/account.h8
-rw-r--r--src/libsync/creds/oauth.cpp18
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);