Struct dittolive_ditto::identity::OnlineWithAuthentication
source · [−]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 enableDittoCloudSync
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
sourceimpl 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
- where cloud sync should be started by defaultcustom_auth_url
- an optional custom authentication URL; default is iscloud.ditto.live
Trait Implementations
sourceimpl Identity for OnlineWithAuthentication
impl Identity for OnlineWithAuthentication
sourcefn auth_client(&self) -> Arc<BoxedAuthClient>
fn auth_client(&self) -> Arc<BoxedAuthClient>
Returns a shared reference to the underlying AuthClient
sourcefn ditto_root(&self) -> Arc<dyn DittoRoot>
fn ditto_root(&self) -> Arc<dyn DittoRoot>
Returns the current DittoRoot
sourcefn is_web_valid(&self) -> bool
fn is_web_valid(&self) -> bool
Returns if the curernt web auth token is valid
sourcefn is_x509_valid(&self) -> bool
fn is_x509_valid(&self) -> bool
Returns if the configured x509 certificate is valid
sourcefn is_cloud_sync_enabled(&self) -> bool
fn is_cloud_sync_enabled(&self) -> bool
Indicates if cloud sync should be enabled by default
sourcefn auth_url(&self) -> Result<String, DittoError>
fn auth_url(&self) -> Result<String, DittoError>
Returns the configured URL for Auth
sourcefn sync_url(&self) -> Result<String, DittoError>
fn sync_url(&self) -> Result<String, DittoError>
Returns the configured URL for websocket sync
sourcefn authenticator(&self) -> Option<DittoAuthenticator>
fn authenticator(&self) -> Option<DittoAuthenticator>
Returns the underlying DittoAuthenticator
if specified
sourcefn make_listener(
&self,
transports: Arc<RwLock<Transports>>
) -> Option<Arc<ValidityListener>>
fn make_listener(
&self,
transports: Arc<RwLock<Transports>>
) -> Option<Arc<ValidityListener>>
Constructs a ValidityListener
given a shared reference to the Ditto
Transports
Read more
sourcefn requires_offline_only_license_token(&self) -> bool
fn requires_offline_only_license_token(&self) -> bool
Indicates whether the specific Identity type requires an offline only license token to be set.
Auto Trait Implementations
impl !RefUnwindSafe for OnlineWithAuthentication
impl Send for OnlineWithAuthentication
impl Sync for OnlineWithAuthentication
impl Unpin for OnlineWithAuthentication
impl !UnwindSafe for OnlineWithAuthentication
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more