pub struct OnlineWithAuthentication { /* private fields */ }
Expand description
Run Ditto in secure production mode, logging on to Ditto Cloud or an on-premises authentication server. User permissions are centrally managed. Sync will not work until a successful login has occurred.
The only required configuration is the application’s UUID, which can be found on the Ditto portal where the app is registered.
By default cloud sync is enabled. This means the SDK will sync to a Big Peer
in Ditto’s cloud when an internet connection is available. This is
controlled by the enable_cloud_sync
parameter. If true
(default), a
suitable wss:// URL will be added to the TransportConfig
.
To prevent cloud sync, or to specify your own URL later, pass false
.
Authentication requests are handled by Ditto’s cloud by default, configured
in the portal at <https://portal.ditto.live>
.
To use a different or on-premises authentication service, pass a custom
HTTPS base URL as the * auth_url
parameter.
Implementations§
source§impl OnlineWithAuthentication
impl OnlineWithAuthentication
sourcepub fn new(
_ditto_root: Arc<dyn DittoRoot>,
app_id: AppId,
auth_event_handler: impl DittoAuthenticationEventHandler + 'static,
enable_cloud_sync: bool,
custom_auth_url: Option<&str>
) -> Result<Self, DittoError>
pub fn new( _ditto_root: Arc<dyn DittoRoot>, app_id: AppId, auth_event_handler: impl DittoAuthenticationEventHandler + 'static, enable_cloud_sync: bool, custom_auth_url: Option<&str> ) -> Result<Self, DittoError>
Construct an OnlineWithAuthentication Identity.
ditto_root
: The directory containing ditto local storageapp_id
: The unique identifier of the application, usually a UUIDv4 stringauth_event_handler
: A user created type which implements theDittoAuthenticationEventHandler
traitenable_cloud_sync
: whether cloud sync should be started by defaultcustom_auth_url
: an optional custom authentication URL; default is iscloud.ditto.live