Ditto
1.0.9
|
Used to identify a given peer in your network. In practice a peer may be a user, a device, or it might be some other entity in your system. More...
Public Member Functions | |
unsafe void | Dispose () |
Static Public Member Functions | |
static DittoIdentity | Development (string appID="", uint siteId=0, string workingDir="ditto") |
Creates a development identity using the provided app ID and site ID. If an app ID or site ID isn't provided then the SDK will use generated values for them. More... | |
static DittoIdentity | Online (Guid appID, IDittoAuthenticationDelegate authDelegate, bool enableDittoCloudSync=true, string customAuthURL="", string workingDir="") |
Creates an Online identity. More... | |
static DittoIdentity | OnlinePlayground (Guid appID, bool enableDittoCloudSync=true, string workingDir="") |
Creates an OnlinePlayground identity. More... | |
static DittoIdentity | SharedKey (string appID, string sharedKey, uint siteID=0, string workingDir="ditto") |
Creates a shared key identity using the provided app ID, private key and site ID. If a site ID isn't provided then the SDK will generate a random value. More... | |
static DittoIdentity | Manual (string certificateConfig) |
Creates a Manual identity using the provided certificate config. More... | |
Public Attributes | |
readonly DittoIdentityType | Type |
The type of the identity. More... | |
readonly string | AppID |
The app ID. More... | |
readonly bool | EnableDittoCloudSync |
If true , sync with Ditto Cloud will be auto-configured. More... | |
readonly string | CustomAuthURL |
A base64 encoded DER representation of a private key, which is shared between devices for a single app. More... | |
readonly uint | SiteId |
The site ID. More... | |
readonly string | Key |
The shared private key. More... | |
readonly string | CertificateConfig |
A base64 encoded string representation of a certificate bundle. More... | |
Used to identify a given peer in your network. In practice a peer may be a user, a device, or it might be some other entity in your system.
You can get up and running quickly by using a development or an online playground identity and then change to using an online (or shared key/manual identity when you are ready to deploy Ditto to production.
|
inlinestatic |
Creates a development identity using the provided app ID and site ID. If an app ID or site ID isn't provided then the SDK will use generated values for them.
appID | Use this to ensure that connections between devices are only established if they share the same app name. |
siteId | Use this to identity different users or devices. Site IDs are persisted between sessions when using a development identity. Site IDs should be unique and not reused by different users or devices. |
workingDir | The directory that will be used to persist Ditto data relating to the identity and authentication. |
DittoIdentity
.
|
inlinestatic |
Creates a Manual
identity using the provided certificate config.
certificateConfig | A base64 encoded string representation of a certificate bundle. |
DittoIdentity
.
|
inlinestatic |
Creates an Online identity.
Online identities should be used when running Ditto in secure production mode, logging on to Ditto Cloud, or using 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, and an authentication delegate.
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 customAuthURL
parameter.
appID | A UUID identifying this app registration on the Ditto portal, which can be found at https://portal.ditto.live. |
authDelegate | A handler for when Ditto requires (re-)authentication. |
enableDittoCloudSync | If true , auto-configure sync with Ditto Cloud. |
customAuthURL | If specified, use a custom authentication service instead of Ditto Cloud. |
workingDir | The directory that will be used to persist Ditto data relating to the identity and authentication. |
DittoIdentity
.
|
inlinestatic |
Creates an OnlinePlayground identity.
OnlinePlayground identities should be used when you want to test a Ditto Cloud app without authentication("Playground mode"). This mode offers no security and must only be used for development.
appID | A UUID identifying this app registration on the Ditto portal, which can be found at https://portal.ditto.live. |
enableDittoCloudSync | If true , auto-configure sync with Ditto Cloud. |
workingDir | The directory that will be used to persist Ditto data relating to the identity and authentication. |
DittoIdentity
.
|
inlinestatic |
Creates a shared key identity using the provided app ID, private key and site ID. If a site ID isn't provided then the SDK will generate a random value.
appID | Use this to ensure that connections between devices are only established if they share the same app ID. |
sharedKey | A base64 DER-encoded private key. Refer to the Ditto documentation for full requirements for shared keys and how to generate them. |
siteID | Use this to identity different users or devices. Site IDs are persisted between sessions when using a development identity. Site IDs should be unique and not reused by different users or devices. |
workingDir | The directory that will be used to persist Ditto data relating to the identity and authentication. |
DittoIdentity
. readonly string DittoSDK.DittoIdentity.AppID |
The app ID.
Use this to ensure that connections between devices are only established if they share the same app ID.
Note that this is only set if the identity is a development identity.
readonly string DittoSDK.DittoIdentity.CertificateConfig |
A base64 encoded string representation of a certificate bundle.
Note that this is only set if the identity is a manual identity.
readonly string DittoSDK.DittoIdentity.CustomAuthURL |
A base64 encoded DER representation of a private key, which is shared between devices for a single app.
Note that this will not be set for all identity types.
readonly bool DittoSDK.DittoIdentity.EnableDittoCloudSync |
readonly string DittoSDK.DittoIdentity.Key |
The shared private key.
Include this in your privately-distributed app to provide security against third parties while allowing your devices to connect to each other.
Note that this is only set if the identity is a shared key identity.
readonly uint DittoSDK.DittoIdentity.SiteId |
The site ID.
Use this to identity different users or devices. Site IDs are persisted between sessions if using a development identity.
Site IDs should be unique and not reused by different users or devices.
Note that this is only set if the identity is a development identity.
readonly DittoIdentityType DittoSDK.DittoIdentity.Type |
The type of the identity.