Kazv::Api::RequestOpenIdTokenJob Class Reference

Get an OpenID token object to verify the requester's identity. More...

#include <openid.hpp>

Inheritance diagram for Kazv::Api::RequestOpenIdTokenJob:
Collaboration diagram for Kazv::Api::RequestOpenIdTokenJob:


class  JobResponse

Public Member Functions

 RequestOpenIdTokenJob (std::string serverUrl, std::string _accessToken, std::string userId, JsonWrap body={})
 Get an OpenID token object to verify the requester's identity. More...
RequestOpenIdTokenJob withData (JsonWrap j) &&
RequestOpenIdTokenJob withData (JsonWrap j) const &
- Public Member Functions inherited from Kazv::BaseJob
 BaseJob (std::string serverUrl, std::string requestUrl, Method method, std::string jobId, std::string token={}, ReturnType returnType=ReturnType::Json, Body body=EmptyBody{}, Query query={}, Header header={}, std::optional< FileDesc > responseFile=std::nullopt)
 ~BaseJob ()
bool shouldReturnJson () const
std::string url () const
Body requestBody () const
Header requestHeader () const
ReturnType returnType () const
Query requestQuery () const
 returns the non-encoded query as an array of pairs More...
Method requestMethod () const
Response genResponse (Response r) const
BaseJob withData (JsonWrap j) &&
BaseJob withData (JsonWrap j) const &
BaseJob withQueue (std::string id, JobQueuePolicy policy=AlwaysContinue) &&
BaseJob withQueue (std::string id, JobQueuePolicy policy=AlwaysContinue) const &
json dataJson (const std::string &key) const
std::string dataStr (const std::string &key) const
std::string jobId () const
std::optional< std::string > queueId () const
JobQueuePolicy queuePolicy () const
std::optional< FileDescresponseFile () const

Static Public Member Functions

static constexpr auto needsAuth ()
static BaseJob::Query buildQuery ()
static BaseJob::Body buildBody (std::string userId, JsonWrap body)
- Static Public Member Functions inherited from Kazv::BaseJob
static bool contentTypeMatches (immer::array< std::string > expected, std::string actual)

Additional Inherited Members

- Public Types inherited from Kazv::BaseJob
enum  ReturnType { Json, File }
using Method = std::variant< Get, Post, Put, Delete >
using Body = ::Kazv::Body
using BytesBody = ::Kazv::BytesBody
using JsonBody = ::Kazv::JsonBody
using EmptyBody = ::Kazv::EmptyBody
using Header = ::Kazv::Header
using Response = ::Kazv::Response
- Static Public Attributes inherited from Kazv::BaseJob
static Get GET {}
static Post POST {}
static Put PUT {}
static Delete DELETE {}
- Protected Member Functions inherited from Kazv::BaseJob
void attachData (JsonWrap data)

Detailed Description

Get an OpenID token object to verify the requester's identity.

Gets an OpenID token object that the requester may supply to another service to verify their identity in Matrix. The generated token is only valid for exchanging for user information from the federation API for OpenID.

The access token generated is only valid for the OpenID API. It cannot be used to request another OpenID access token or call /sync, for example.

Constructor & Destructor Documentation

◆ RequestOpenIdTokenJob()

Kazv::Api::RequestOpenIdTokenJob::RequestOpenIdTokenJob ( std::string  serverUrl,
std::string  _accessToken,
std::string  userId,
JsonWrap  body = {} 

Get an OpenID token object to verify the requester's identity.

userIdThe user to request and OpenID token for. Should be the user who is authenticated for the request.
bodyAn empty object. Reserved for future expansion.

Member Function Documentation

◆ buildBody()

BaseJob::Body Kazv::Api::RequestOpenIdTokenJob::buildBody ( std::string  userId,
JsonWrap  body 

◆ buildQuery()

BaseJob::Query Kazv::Api::RequestOpenIdTokenJob::buildQuery ( )

◆ needsAuth()

static constexpr auto Kazv::Api::RequestOpenIdTokenJob::needsAuth ( )

◆ withData() [1/2]

RequestOpenIdTokenJob Kazv::Api::RequestOpenIdTokenJob::withData ( JsonWrap  j) &&

◆ withData() [2/2]

RequestOpenIdTokenJob Kazv::Api::RequestOpenIdTokenJob::withData ( JsonWrap  j) const &

The documentation for this class was generated from the following files: