summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/auth/MojangAccount.cpp
diff options
context:
space:
mode:
authorShokara <shokara@snopyta.org>2021-01-04 20:05:46 -0500
committerThomas Groman <tgroman@nuegia.net>2021-01-04 17:14:35 -0800
commit21da6d89658aef25c1def27dc5fa2c4055e6a6f9 (patch)
tree1cf5e3774d0820f30eee3265f49c282061591999 /api/logic/minecraft/auth/MojangAccount.cpp
parentb57d6e6353a3048a4052201bf2a56bea00d94b0a (diff)
downloadMultiMC-tom.tar
MultiMC-tom.tar.gz
MultiMC-tom.tar.lz
MultiMC-tom.tar.xz
MultiMC-tom.zip
add offline account supportHEADtom
I added the offline patch from my MultiMC repo[1]. The only change I made compared to my fork was adding an extra sentence in the account adder dialog that the password needs to be blank for an offline account. Signed-off-by: Shokara <shokara@snopyta.org>
Diffstat (limited to 'api/logic/minecraft/auth/MojangAccount.cpp')
-rw-r--r--api/logic/minecraft/auth/MojangAccount.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/api/logic/minecraft/auth/MojangAccount.cpp b/api/logic/minecraft/auth/MojangAccount.cpp
index 657e0009..28f31266 100644
--- a/api/logic/minecraft/auth/MojangAccount.cpp
+++ b/api/logic/minecraft/auth/MojangAccount.cpp
@@ -19,6 +19,7 @@
#include "flows/RefreshTask.h"
#include "flows/AuthenticateTask.h"
+#include <QCryptographicHash>
#include <QUuid>
#include <QJsonObject>
#include <QJsonArray>
@@ -103,6 +104,20 @@ MojangAccountPtr MojangAccount::createFromUsername(const QString &username)
return account;
}
+MojangAccountPtr MojangAccount::createFromUsernameOffline(const QString &username)
+{
+ MojangAccountPtr account(new MojangAccount());
+ account->m_clientToken = "ff64ff64ff64ff64ff64ff64ff64ff64";
+ account->m_accessToken = "ff64ff64ff64ff64ff64ff64ff64ff64";
+ account->m_username = username;
+ QList<AccountProfile> profiles;
+ QString uuid = QCryptographicHash::hash(username.toLocal8Bit(), QCryptographicHash::Md5).toHex();
+ profiles.append({uuid, username, false});
+ account->m_profiles = profiles;
+ account->setCurrentProfile(uuid);
+ return account;
+}
+
QJsonObject MojangAccount::saveToJson() const
{
QJsonObject json;