Provides access to authentication information and methods for logging on to Ditto Cloud. Relevant when using an OnlineWithAuthentication or an Online identity.
More...
Public Member Functions | |
| AuthenticationStatus | get_status () const |
| void | login (std::string token, std::string provider, std::function< void(std::unique_ptr< std::string >, std::unique_ptr< DittoError >)> login_handler) const |
| Log in to Ditto with a third-party token. | |
| void | login_with_token (std::string token, std::string provider, std::function< void(std::unique_ptr< DittoError >)> login_handler) const |
| Log in to Ditto with a third-party token. | |
| void | login_with_credentials (std::string username, std::string password, std::string provider, std::function< void(std::unique_ptr< DittoError >)> login_handler) const |
| Log in to Ditto with a username and password. | |
| void | logout (std::function< void(Ditto)> cleanup=[](Ditto ditto) {}) const |
| Log out of Ditto. | |
| std::shared_ptr< Observer > | observe_status (std::function< void(AuthenticationStatus status)> callback) |
Provides access to authentication information and methods for logging on to Ditto Cloud. Relevant when using an OnlineWithAuthentication or an Online identity.
| AuthenticationStatus ditto::Authenticator::get_status | ( | ) | const |
Returns the current authentication status.
| void ditto::Authenticator::login | ( | std::string | token, |
| std::string | provider, | ||
| std::function< void(std::unique_ptr< std::string >, std::unique_ptr< DittoError >)> | login_handler ) const |
Log in to Ditto with a third-party token.
The completion lambda will be called once, whether the login attempt succeeds or fails. If it has failed then the optional DittoError will be non-null, otherwise it will be null. Regardless of whether or not the login attempt succeeds the optional std::string argument will be non-null if the auth webhook endpoint returned any JSON value under the clientInfo key. That JSON is what will be passed via the std::string argument, if it's provided.
| [in] | token | the authentication token required to log in. |
| [in] | provider | the name of the authentication provider. |
| [in] | login_handler | a lambda that will get called when the login attempt has completed. |
| void ditto::Authenticator::login_with_credentials | ( | std::string | username, |
| std::string | password, | ||
| std::string | provider, | ||
| std::function< void(std::unique_ptr< DittoError >)> | login_handler ) const |
Log in to Ditto with a username and password.
| [in] | username | the username component of the credentials used for log in. |
| [in] | password | the password component of the credentials used for log in. |
| [in] | provider | the name of the authentication provider. |
| [in] | login_handler | a lambda that will get called when the login attempt has completed. |
| void ditto::Authenticator::login_with_token | ( | std::string | token, |
| std::string | provider, | ||
| std::function< void(std::unique_ptr< DittoError >)> | login_handler ) const |
Log in to Ditto with a third-party token.
| [in] | token | the authentication token required to log in. |
| [in] | provider | the name of the authentication provider. |
| [in] | login_handler | a lambda that will get called when the login attempt has completed. |
This will stop sync, shut down all replication sessions, and remove any cached authentication credentials. Note that this does not remove any data from the store. If you wish to delete data from the store then use the optional cleanupAction argument to perform any required cleanup.
| [in] | cleanup | An optional lambda that will be called with the relevant `Ditto instance as the sole argument that allows you to perform any required cleanup of the store as part of the logout process. |
| std::shared_ptr< Observer > ditto::Authenticator::observe_status | ( | std::function< void(AuthenticationStatus status)> | callback | ) |
Registers a function that will be called whenever authentication status changes. Returns an Observer that needs to be retained as long as you want to receive the updates.