3c46d8a412
This makes the account system much more modular and makes it treat errors as something recoverable, unless they come directly from the MSA refresh token becoming invalid.
35 lines
823 B
C++
35 lines
823 B
C++
#pragma once
|
|
#include <QObject>
|
|
|
|
#include "QObjectPtr.h"
|
|
#include "minecraft/auth/AuthStep.h"
|
|
|
|
|
|
class XboxAuthorizationStep : public AuthStep {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit XboxAuthorizationStep(AccountData *data, Katabasis::Token *token, QString relyingParty, QString authorizationKind);
|
|
virtual ~XboxAuthorizationStep() noexcept;
|
|
|
|
void perform() override;
|
|
void rehydrate() override;
|
|
|
|
QString describe() override;
|
|
|
|
private:
|
|
bool processSTSError(
|
|
QNetworkReply::NetworkError error,
|
|
QByteArray data,
|
|
QList<QNetworkReply::RawHeaderPair> headers
|
|
);
|
|
|
|
private slots:
|
|
void onRequestDone(QNetworkReply::NetworkError, QByteArray, QList<QNetworkReply::RawHeaderPair>);
|
|
|
|
private:
|
|
Katabasis::Token *m_token;
|
|
QString m_relyingParty;
|
|
QString m_authorizationKind;
|
|
};
|