Kazv::Api::RefreshJob Class Reference

Refresh an access token. More...

#include <refresh.hpp>

Inheritance diagram for Kazv::Api::RefreshJob:
Collaboration diagram for Kazv::Api::RefreshJob:


class  JobResponse

Public Member Functions

 RefreshJob (std::string serverUrl, std::optional< std::string > refreshToken=std::nullopt)
 Refresh an access token. More...
RefreshJob withData (JsonWrap j) &&
RefreshJob 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::optional< std::string > refreshToken)
- 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

Refresh an access token.

Refresh an access token. Clients should use the returned access token when making subsequent API calls, and store the returned refresh token (if given) in order to refresh the new access token when necessary.

After an access token has been refreshed, a server can choose to invalidate the old access token immediately, or can choose not to, for example if the access token would expire soon anyways. Clients should not make any assumptions about the old access token still being valid, and should use the newly provided access token instead.

The old refresh token remains valid until the new access token or refresh token is used, at which point the old refresh token is revoked.

Note that this endpoint does not require authentication via an access token. Authentication is provided via the refresh token.

Application Service identity assertion is disabled for this endpoint.

Constructor & Destructor Documentation

◆ RefreshJob()

Kazv::Api::RefreshJob::RefreshJob ( std::string  serverUrl,
std::optional< std::string >  refreshToken = std::nullopt 

Refresh an access token.

refreshTokenThe refresh token

Member Function Documentation

◆ buildBody()

BaseJob::Body Kazv::Api::RefreshJob::buildBody ( std::optional< std::string >  refreshToken)

◆ buildQuery()

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

◆ needsAuth()

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

◆ withData() [1/2]

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

◆ withData() [2/2]

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

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