diff options
author | n-peugnet <n.peugnet@free.fr> | 2022-10-06 19:27:24 +0200 |
---|---|---|
committer | n-peugnet <n.peugnet@free.fr> | 2022-10-06 19:27:24 +0200 |
commit | d911b207f49e936b3e992200796110f0749ed150 (patch) | |
tree | 96d20ebb4d074a4c1755e21cb316a52d584daee3 /lib/csapi/openid.cpp | |
parent | 8ad8a74152c5701b6ca1f9a00487ba9257a439b4 (diff) | |
parent | 56c2f2e2b809b9077393eb617828f33d144f5634 (diff) | |
download | libquotient-d911b207f49e936b3e992200796110f0749ed150.tar.gz libquotient-d911b207f49e936b3e992200796110f0749ed150.zip |
New upstream version 0.7.0
Diffstat (limited to 'lib/csapi/openid.cpp')
-rw-r--r-- | lib/csapi/openid.cpp | 75 |
1 files changed, 7 insertions, 68 deletions
diff --git a/lib/csapi/openid.cpp b/lib/csapi/openid.cpp index 2547f0c8..7e89b8a6 100644 --- a/lib/csapi/openid.cpp +++ b/lib/csapi/openid.cpp @@ -4,74 +4,13 @@ #include "openid.h" -#include "converters.h" +using namespace Quotient; -#include <QtCore/QStringBuilder> - -using namespace QMatrixClient; - -static const auto basePath = QStringLiteral("/_matrix/client/r0"); - -class RequestOpenIdTokenJob::Private -{ - public: - QString accessToken; - QString tokenType; - QString matrixServerName; - int expiresIn; -}; - -static const auto RequestOpenIdTokenJobName = QStringLiteral("RequestOpenIdTokenJob"); - -RequestOpenIdTokenJob::RequestOpenIdTokenJob(const QString& userId, const QJsonObject& body) - : BaseJob(HttpVerb::Post, RequestOpenIdTokenJobName, - basePath % "/user/" % userId % "/openid/request_token") - , d(new Private) +RequestOpenIdTokenJob::RequestOpenIdTokenJob(const QString& userId, + const QJsonObject& body) + : BaseJob(HttpVerb::Post, QStringLiteral("RequestOpenIdTokenJob"), + makePath("/_matrix/client/v3", "/user/", userId, + "/openid/request_token")) { - setRequestData(Data(toJson(body))); + setRequestData({ toJson(body) }); } - -RequestOpenIdTokenJob::~RequestOpenIdTokenJob() = default; - -const QString& RequestOpenIdTokenJob::accessToken() const -{ - return d->accessToken; -} - -const QString& RequestOpenIdTokenJob::tokenType() const -{ - return d->tokenType; -} - -const QString& RequestOpenIdTokenJob::matrixServerName() const -{ - return d->matrixServerName; -} - -int RequestOpenIdTokenJob::expiresIn() const -{ - return d->expiresIn; -} - -BaseJob::Status RequestOpenIdTokenJob::parseJson(const QJsonDocument& data) -{ - auto json = data.object(); - if (!json.contains("access_token"_ls)) - return { JsonParseError, - "The key 'access_token' not found in the response" }; - d->accessToken = fromJson<QString>(json.value("access_token"_ls)); - if (!json.contains("token_type"_ls)) - return { JsonParseError, - "The key 'token_type' not found in the response" }; - d->tokenType = fromJson<QString>(json.value("token_type"_ls)); - if (!json.contains("matrix_server_name"_ls)) - return { JsonParseError, - "The key 'matrix_server_name' not found in the response" }; - d->matrixServerName = fromJson<QString>(json.value("matrix_server_name"_ls)); - if (!json.contains("expires_in"_ls)) - return { JsonParseError, - "The key 'expires_in' not found in the response" }; - d->expiresIn = fromJson<int>(json.value("expires_in"_ls)); - return Success; -} - |