50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
#ifndef UBUNTUONEAUTHENTICATOR_H
|
|
#define UBUNTUONEAUTHENTICATOR_H
|
|
|
|
#include <QObject>
|
|
|
|
class QNetworkReply;
|
|
class NetworkAccessManager;
|
|
|
|
class UbuntuOneAuthenticator : public QObject {
|
|
Q_OBJECT
|
|
public:
|
|
explicit UbuntuOneAuthenticator(QObject* parent = nullptr);
|
|
void StartAuthorisation(const QString& email, const QString& password);
|
|
|
|
bool success() const { return success_; }
|
|
QString consumer_key() const { return consumer_key_; }
|
|
QString consumer_secret() const { return consumer_secret_; }
|
|
QString token() const { return token_; }
|
|
QString token_secret() const { return token_secret_; }
|
|
|
|
static QByteArray GenerateAuthorisationHeader(const QString& consumer_key,
|
|
const QString& consumer_secret,
|
|
const QString& token,
|
|
const QString& token_secret);
|
|
|
|
signals:
|
|
void Finished();
|
|
|
|
private slots:
|
|
void AuthorisationFinished(QNetworkReply* reply);
|
|
void CopySSOTokensFinished(QNetworkReply* reply);
|
|
|
|
private:
|
|
void CopySSOTokens();
|
|
QByteArray GenerateAuthorisationHeader();
|
|
|
|
private:
|
|
NetworkAccessManager* network_;
|
|
|
|
bool success_;
|
|
|
|
QString consumer_key_;
|
|
QString consumer_secret_;
|
|
|
|
QString token_;
|
|
QString token_secret_;
|
|
};
|
|
|
|
#endif // UBUNTUONEAUTHENTICATOR_H
|