Oracle-Android-Kanal erstellen
Sie können den Android-Kanal für die Verbindung zum Oracle-Chatserver in zwei Modi konfigurieren: nicht authentifizierter Modus und authentifizierter Modus (um den Zugriff auf den Kanal zu schützen).
- Nicht authentifizierter Modus: Verwenden Sie den nicht authentifizierten Modus, wenn der Client keine signierten JWT-Token generieren kann, wenn kein Authentifizierungsverfahren vorhanden ist oder wenn die Clientanwendung bereits gesichert und für authentifizierte Benutzer sichtbar ist.
- Authentifizierter Modus: Authentifizierung wird mit JSON Web Token (JWT) durchgesetzt. Der Backend-Server des Kunden generiert das JWT-Token, das dann an das Oracle-Android-SDK übergeben wird. Dieses Token wird für jede Anforderung an einen ODA-Sprach-, Text- oder Anhangsserver verwendet.
HinweisWenn die App eine Verbindung zu einem ODA-Server herstellen muss, fordert sie zunächst das Token vom Backend-Server an und fügt es dann dem Autorisierungsheader hinzu. Der ODA-Server validiert das Token, wertet die Claims aus und öffnet dann entweder das Socket oder lehnt die Verbindung ab.
Um den Zugriff auf den Kanal zu schützen, muss das Token immer von einem Remoteserver generiert werden. Es darf nie innerhalb der Client-App generiert werden.
Das JWT-Token verfügt über folgende Claims:
channelId
und userId
sowie die Claimnamen iat
(Ausstellungszeit) und exp
(Ablaufzeit). iat
gibt die Zeit an, zu der das Token ausgegeben wurde. Diese Zeit muss eine Zahl sein, die die Sekunden darstellt, die seit der UNIX-Epoche vergangen sind. exp
muss eine Zahl sein, die die Sekunden darstellt, die seit der UNIX-Epoche vergangen sind. Es wird empfohlen, die Ablaufzeit auf mindestens 30 Minuten nach der Ausstellungszeit (iat
) festzulegen. Der Tokenheader sieht in etwa wie folgt aus:{
"alg": "HS256",
"typ": "JWT"
}
Ein Beispieltokenbody sieht in etwa wie folgt aus:{
"iat": 1569828182,
"exp": 1569831782,
"channelId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "John"
}
Hinweis
Das in diesem Beispiel dargestellte Token ist nicht signiert. Die eigentlichen Token werden vom Secret Key des Kanals signiert.
Das in diesem Beispiel dargestellte Token ist nicht signiert. Die eigentlichen Token werden vom Secret Key des Kanals signiert.
Oracle-Android-Kanal konfigurieren
So konfigurieren Sie den Oracle-Android-Kanal:
- Wählen Sie im Menü die Option Entwicklung und anschließend Kanäle aus.
- Wählen Sie Benutzer aus.
- Klicken Sie auf Kanal hinzufügen und dann auf Oracle Android als Kanaltyp.
- Nehmen Sie die gewünschten Änderungen im Dialogfeld vor:
- Geben Sie den Kanalnamen ein.
- Bei authentifizierten Verbindungen:
- Aktivieren Sie den Schalter Clientauthentifizierung aktiviert, um zu bestimmen, ob das SDK eine Verbindung zu einem für die Clientauthentifizierung aktivierten Kanal herstellt.
- Legen Sie im Feld "Max. Tokenablauf (Minuten)" die maximale Zeit für das JWT-Token fest.
- Bei nicht authentifizierten Verbindungen:
- Deaktivieren Sie den Schalter Clientauthentifizierung aktiviert.
- Legen Sie die Sessionablaufzeit fest.
- Klicken Sie auf Erstellen. Oracle Digital Assistant generiert die Kanal-ID und den Secret Key, die Sie zur Initialisierung des SDK benötigen. Bewahren Sie diese griffbereit auf.
- Leiten Sie den Kanal an Ihren Skill oder digitalen Assistenten weiter.
- Aktivieren Sie das Steuerelement Kanal aktiviert.