From eae65da110bb957194b34e0f3573ce4e6e6ddc78 Mon Sep 17 00:00:00 2001 From: Petr Mrázek Date: Sun, 22 Aug 2021 20:01:18 +0200 Subject: GH-3392 Switch MS account login to use device flow instead Device flow involves the user manually opening a web page and putting in a code. We no longer need to interact with the browser. --- launcher/dialogs/MSALoginDialog.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'launcher/dialogs/MSALoginDialog.h') diff --git a/launcher/dialogs/MSALoginDialog.h b/launcher/dialogs/MSALoginDialog.h index 402180ee..3d26a0dd 100644 --- a/launcher/dialogs/MSALoginDialog.h +++ b/launcher/dialogs/MSALoginDialog.h @@ -17,6 +17,7 @@ #include #include +#include #include "minecraft/auth/MinecraftAccount.h" @@ -46,10 +47,17 @@ slots: void onTaskSucceeded(); void onTaskStatus(const QString &status); void onTaskProgress(qint64 current, qint64 total); + void showVerificationUriAndCode(const QUrl &uri, const QString &code, int expiresIn); + void hideVerificationUriAndCode(); + + void externalLoginTick(); private: Ui::MSALoginDialog *ui; MinecraftAccountPtr m_account; - std::shared_ptr m_loginTask; + std::shared_ptr m_loginTask; + QTimer m_externalLoginTimer; + int m_externalLoginElapsed = 0; + int m_externalLoginTimeout = 0; }; -- cgit