diff options
Diffstat (limited to 'lib/csapi/openid.h')
-rw-r--r-- | lib/csapi/openid.h | 38 |
1 files changed, 9 insertions, 29 deletions
diff --git a/lib/csapi/openid.h b/lib/csapi/openid.h index bda4ce74..e69f9ad0 100644 --- a/lib/csapi/openid.h +++ b/lib/csapi/openid.h @@ -4,16 +4,12 @@ #pragma once -#include "converters.h" +#include "csapi/definitions/openid_token.h" #include "jobs/basejob.h" -#include <QtCore/QJsonObject> - namespace Quotient { -// Operations - /*! \brief Get an OpenID token object to verify the requester's identity. * * Gets an OpenID token object that the requester may supply to another @@ -29,41 +25,25 @@ class RequestOpenIdTokenJob : public BaseJob { public: /*! \brief Get an OpenID token object to verify the requester's identity. * + * * \param userId * The user to request and OpenID token for. Should be the user who * is authenticated for the request. + * * \param body * An empty object. Reserved for future expansion. */ explicit RequestOpenIdTokenJob(const QString& userId, const QJsonObject& body = {}); - ~RequestOpenIdTokenJob() override; - // Result properties - /// An access token the consumer may use to verify the identity of - /// the person who generated the token. This is given to the federation - /// API ``GET /openid/userinfo``. - const QString& accessToken() const; - - /// The string ``Bearer``. - const QString& tokenType() const; - - /// The homeserver domain the consumer should use when attempting to - /// verify the user's identity. - const QString& matrixServerName() const; - - /// The number of seconds before this token expires and a new one must - /// be generated. - int expiresIn() const; - -protected: - Status parseJson(const QJsonDocument& data) override; - -private: - class Private; - QScopedPointer<Private> d; + /// OpenID token information. This response is nearly compatible with the + /// response documented in the `OpenID 1.0 Specification + /// <http://openid.net/specs/openid-connect-core-1_0.html#TokenResponse>`_ + /// with the only difference being the lack of an ``id_token``. Instead, + /// the Matrix homeserver's name is provided. + OpenidToken data() const { return fromJson<OpenidToken>(jsonData()); } }; } // namespace Quotient |