mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-24 21:35:47 +03:00
Delete apptoken after account removal.
Signed-off-by: allexzander <blackslayer4@gmail.com>
This commit is contained in:
parent
376a730146
commit
c930d8e30f
3 changed files with 27 additions and 1 deletions
|
@ -380,6 +380,8 @@ void AccountManager::deleteAccount(AccountState *account)
|
|||
// Forget E2E keys
|
||||
account->account()->e2e()->forgetSensitiveData(account->account());
|
||||
|
||||
account->account()->deleteAppToken();
|
||||
|
||||
emit accountSyncConnectionRemoved(account);
|
||||
emit accountRemoved(account);
|
||||
}
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include "pushnotifications.h"
|
||||
#include "version.h"
|
||||
|
||||
#include <deletejob.h>
|
||||
|
||||
#include "common/asserts.h"
|
||||
#include "clientsideencryption.h"
|
||||
|
||||
|
@ -618,7 +620,8 @@ void Account::retrieveAppPassword(){
|
|||
job->start();
|
||||
}
|
||||
|
||||
void Account::deleteAppPassword(){
|
||||
void Account::deleteAppPassword()
|
||||
{
|
||||
const QString kck = AbstractCredentials::keychainKey(
|
||||
url().toString(),
|
||||
credentials()->user() + app_password,
|
||||
|
@ -646,6 +649,25 @@ void Account::deleteAppPassword(){
|
|||
job->start();
|
||||
}
|
||||
|
||||
void Account::deleteAppToken()
|
||||
{
|
||||
const auto deleteAppTokenJob = new DeleteJob(sharedFromThis(), QStringLiteral("/ocs/v2.php/core/apppassword"));
|
||||
connect(deleteAppTokenJob, &DeleteJob::finishedSignal, this, [this]() {
|
||||
if (const auto deleteJob = qobject_cast<DeleteJob *>(QObject::sender())) {
|
||||
const auto httpCode = deleteJob->reply()->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||
if (httpCode != 200) {
|
||||
qCWarning(lcAccount) << "AppToken remove failed for user: " << displayName() << " with code: " << httpCode;
|
||||
} else {
|
||||
qCInfo(lcAccount) << "AppToken for user: " << displayName() << " has been removed.";
|
||||
}
|
||||
} else {
|
||||
Q_ASSERT(false);
|
||||
qCWarning(lcAccount) << "The sender is not a DeleteJob instance.";
|
||||
}
|
||||
});
|
||||
deleteAppTokenJob->start();
|
||||
}
|
||||
|
||||
void Account::fetchDirectEditors(const QUrl &directEditingURL, const QString &directEditingETag)
|
||||
{
|
||||
if(directEditingURL.isEmpty() || directEditingETag.isEmpty())
|
||||
|
|
|
@ -245,6 +245,8 @@ public:
|
|||
void writeAppPasswordOnce(QString appPassword);
|
||||
void deleteAppPassword();
|
||||
|
||||
void deleteAppToken();
|
||||
|
||||
/// Direct Editing
|
||||
// Check for the directEditing capability
|
||||
void fetchDirectEditors(const QUrl &directEditingURL, const QString &directEditingETag);
|
||||
|
|
Loading…
Reference in a new issue