diff options
Diffstat (limited to 'lib/csapi/logout.h')
-rw-r--r-- | lib/csapi/logout.h | 95 |
1 files changed, 48 insertions, 47 deletions
diff --git a/lib/csapi/logout.h b/lib/csapi/logout.h index 3ef3c656..34d5a441 100644 --- a/lib/csapi/logout.h +++ b/lib/csapi/logout.h @@ -6,52 +6,53 @@ #include "jobs/basejob.h" +namespace Quotient +{ + +// Operations -namespace QMatrixClient +/// Invalidates a user access token +/*! + * Invalidates an existing access token, so that it can no longer be used for + * authorization. + */ +class LogoutJob : public BaseJob +{ +public: + explicit LogoutJob(); + + /*! Construct a URL without creating a full-fledged job object + * + * This function can be used when a URL for + * LogoutJob is necessary but the job + * itself isn't. + */ + static QUrl makeRequestUrl(QUrl baseUrl); +}; + +/// Invalidates all access tokens for a user +/*! + * Invalidates all access tokens for a user, so that they can no longer be used + * for authorization. This includes the access token that made this request. + * + * This endpoint does not require UI authorization because UI authorization is + * designed to protect against attacks where the someone gets hold of a single + * access token then takes over the account. This endpoint invalidates all + * access tokens for the user, including the token used in the request, and + * therefore the attacker is unable to take over the account in this way. + */ +class LogoutAllJob : public BaseJob { - // Operations - - /// Invalidates a user access token - /// - /// Invalidates an existing access token, so that it can no longer be used for - /// authorization. - class LogoutJob : public BaseJob - { - public: - explicit LogoutJob(); - - /*! Construct a URL without creating a full-fledged job object - * - * This function can be used when a URL for - * LogoutJob is necessary but the job - * itself isn't. - */ - static QUrl makeRequestUrl(QUrl baseUrl); - - }; - - /// Invalidates all access tokens for a user - /// - /// Invalidates all access tokens for a user, so that they can no longer be used for - /// authorization. This includes the access token that made this request. - /// - /// This endpoint does not require UI authorization because UI authorization is - /// designed to protect against attacks where the someone gets hold of a single access - /// token then takes over the account. This endpoint invalidates all access tokens for - /// the user, including the token used in the request, and therefore the attacker is - /// unable to take over the account in this way. - class LogoutAllJob : public BaseJob - { - public: - explicit LogoutAllJob(); - - /*! Construct a URL without creating a full-fledged job object - * - * This function can be used when a URL for - * LogoutAllJob is necessary but the job - * itself isn't. - */ - static QUrl makeRequestUrl(QUrl baseUrl); - - }; -} // namespace QMatrixClient +public: + explicit LogoutAllJob(); + + /*! Construct a URL without creating a full-fledged job object + * + * This function can be used when a URL for + * LogoutAllJob is necessary but the job + * itself isn't. + */ + static QUrl makeRequestUrl(QUrl baseUrl); +}; + +} // namespace Quotient |