libkazv
|
Authenticates the user. More...
#include <login.hpp>
Classes | |
class | JobResponse |
Public Member Functions | |
LoginJob (std::string serverUrl, std::string type, std::optional< UserIdentifier > identifier=std::nullopt, std::optional< std::string > password=std::nullopt, std::optional< std::string > token=std::nullopt, std::optional< std::string > deviceId=std::nullopt, std::optional< std::string > initialDeviceDisplayName=std::nullopt, std::optional< bool > refreshToken=std::nullopt) | |
Authenticates the user. More... | |
LoginJob | withData (JsonWrap j) && |
LoginJob | 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< FileDesc > | responseFile () const |
Static Public Member Functions | |
static constexpr auto | needsAuth () |
static BaseJob::Query | buildQuery () |
static BaseJob::Body | buildBody (std::string type, std::optional< UserIdentifier > identifier, std::optional< std::string > password, std::optional< std::string > token, std::optional< std::string > deviceId, std::optional< std::string > initialDeviceDisplayName, std::optional< bool > 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) |
Authenticates the user.
Authenticates the user, and issues an access token they can use to authorize themself in subsequent requests.
If the client does not supply a device_id
, the server must auto-generate one.
The returned access token must be associated with the device_id
supplied by the client or generated by the server. The server may invalidate any access token previously associated with that device. See Relationship between access tokens and devices.
|
explicit |
Authenticates the user.
type | The login type being used. |
identifier | Authenticates the user, and issues an access token they can use to authorize themself in subsequent requests. |
If the client does not supply a device_id
, the server must auto-generate one.
The returned access token must be associated with the device_id
supplied by the client or generated by the server. The server may invalidate any access token previously associated with that device. See Relationship between access tokens and devices.
password | Required when type is m.login.password . The user's password. |
token | Required when type is m.login.token . Part of Token-based login. |
deviceId | ID of the client device. If this does not correspond to a known client device, a new device will be created. The given device ID must not be the same as a cross-signing key ID. The server will auto-generate a device_id if this is not specified. |
initialDeviceDisplayName | A display name to assign to the newly-created device. Ignored if device_id corresponds to a known device. |
refreshToken | If true, the client supports refresh tokens. |
|
static |
|
static |
|
inlinestaticconstexpr |