Setting the encryption secret

End-to-End-verschlüsselte Sitzungen werden mit Hilfe von Server-APIs erstellt (siehe Aktivieren der Verschlüsselung mit dem REST-API). Damit ein React Native-Client einer Ende-zu-Ende-verschlüsselten Sitzung beitritt, setzen Sie die encryptionSecret Stütze des OTSession Komponente:

<OTSession
  applicationId="api-key"
  sessionId="session-id"
  token="token"
  encryptionSecret="initial-encryption-secret"
>
  <OTPublisher />
  <OTSubscriber />
</OTSession>

Ein gültiges Geheimnis ist eine Zeichenfolge zwischen 8 und 256 Zeichen.

Sie können das Geheimnis ändern, indem Sie die Einstellung encryptionSecret prop auf eine Eigenschaft des React-Zustands und ändert ihren Wert:

<OTSession
  applicationId="api-key"
  sessionId="session-id"
  token="token"
  encryptionSecret={this.state.encryptionSecret}>
>
  <OTPublisher />
  <OTSubscriber />
</OTSession>

Events and errors

Ereignisse und Fehler sind wesentlich für die Verwaltung des benutzergesteuerten Verschlüsselungsverhaltens. Bei der Ende-zu-Ende-Verschlüsselung wird das Modell des gemeinsamen Geheimnisses verwendet: Es wird erwartet, dass alle Teilnehmer der Sitzung dasselbe Geheimnis verwenden, um ihre Medien zu verschlüsseln und die der anderen zu entschlüsseln.

Die OTSubscriber error() wird aufgerufen, wenn der Abonnent die Medien eines Streams aufgrund eines nicht übereinstimmenden (oder nicht gesetzten) Verschlüsselungsgeheimnisses nicht entschlüsseln kann:

<OTSubscriber
eventHandlers={{
    error: event => {
    // Show UI notification.
    },
}}
>

Die OTSession error() wird aufgerufen, wenn der Client versucht, eine Verbindung zu einer Ende-zu-Ende-verschlüsselten Sitzung herzustellen, die mit einem ungültigen Verschlüsselungsgeheimnis (oder ohne Angabe eines Verschlüsselungsgeheimnisses) initialisiert wurde. Ein gültiges Geheimnis ist eine Zeichenfolge zwischen 8 und 256 Zeichen. Für eine optimale Benutzererfahrung sollte die Anwendung ein ungültiges vom Benutzer angegebenes Geheimnis abfangen, bevor das OTSession encryptionSecret prop. Im folgenden Beispiel wird eine Sitzung mit einem leeren (und damit ungültigen) Geheimnis initialisiert, was zu einem Fehler führt, wenn versucht wird, eine Verbindung herzustellen:

<OTSession
  applicationId="api-key"
  sessionId="session-id"
  token="token"
  encryptionSecret=""
  eventHanders={{
    error: event => {
      // An error event is dispatched if you set an invalid encryption secret
    }
  }}
>
  <OTPublisher />
  <OTSubscriber />
</OTSession>