Ditto  1.0.12
Public Member Functions | List of all members
ditto::Authenticator Class Reference

Public Member Functions

void login_with_token (std::string token, std::string provider, std::function< void(std::unique_ptr< DittoError >)> login_handler)
 Log in to Ditto with a third-party token. More...
 
void login_with_credentials (std::string username, std::string password, std::string provider, std::function< void(std::unique_ptr< DittoError >)> login_handler)
 Log in to Ditto with a username and password. More...
 
bool is_authenticated ()
 
std::string user_id ()
 

Member Function Documentation

◆ is_authenticated()

bool ditto::Authenticator::is_authenticated ( )

Query whether Ditto has a valid authentication token.

This will only be true when using an Online identity, after a successful login. If the authentication token is allowed to expire then it will return false instead.

◆ login_with_credentials()

void ditto::Authenticator::login_with_credentials ( std::string  username,
std::string  password,
std::string  provider,
std::function< void(std::unique_ptr< DittoError >)>  login_handler 
)

Log in to Ditto with a username and password.

Parameters
[in]usernamethe username component of the credentials used for log in.
[in]passwordthe password component of the credentials used for log in.
[in]providerthe name of the authentication provider.
[in]login_handlera lambda that will get called when the login attempt has completed.

◆ login_with_token()

void ditto::Authenticator::login_with_token ( std::string  token,
std::string  provider,
std::function< void(std::unique_ptr< DittoError >)>  login_handler 
)

Log in to Ditto with a third-party token.

Parameters
[in]tokenthe authentication token required to log in.
[in]providerthe name of the authentication provider.
[in]login_handlera lambda that will get called when the login attempt has completed.

◆ user_id()

std::string ditto::Authenticator::user_id ( )

Return the currently logged-in user ID.

This will return the empty string if there is no valid authentication or Online mode is not being used.