Passaggio 3: creare un token di chat
Affinché un partecipante alla chat possa connettersi a una stanza e iniziare a inviare e ricevere messaggi, è necessario creare un token di chat. I token di chat vengono utilizzati per autenticare e autorizzare i client delle chat.
Questo diagramma illustra il flusso di lavoro per la creazione di un token di chat IVS:
Come mostrato sopra, un'applicazione client richiede un token all'applicazione lato server e l'applicazione lato server chiama CreateChatToken utilizzando un SDK AWS o richieste firmate SigV4. Poiché le credenziali AWS vengono utilizzate per chiamare l'API, il token deve essere generato in un'applicazione sicura lato server, non nell'applicazione lato client.
Un'applicazione server di backend che mostra come generare token è disponibile all'indirizzo Demo di backend di Amazon IVS Chat
Durata della sessione si riferisce alla durata per cui una sessione stabilita può rimanere attiva prima che venga terminata automaticamente. Ciò significa che la durata della sessione è la durata per cui il client può rimanere connesso alla chat room prima che sia necessario generare un nuovo token e stabilire una nuova connessione. Facoltativamente, è possibile specificare la durata della sessione durante la creazione del token.
Ogni token può essere utilizzato una sola volta per stabilire una connessione per un utente finale. Se una connessione viene interrotta, è necessario creare un nuovo token prima che la connessione possa essere ristabilita. Il token stesso è valido fino al timestamp di scadenza del token incluso nella risposta.
Quando un utente finale desidera connettersi a una chat room, il client deve chiedere all'applicazione server un token. L'applicazione server crea un token e lo ritrasmette al client. I token devono essere creati per gli utenti finali su richiesta.
Per creare un token di autenticazione per la chat, seguire le istruzioni riportate di seguito. Quando si crea un token di chat, utilizza i campi della richiesta per inviare i dati sull'utente finale della chat e sulle funzionalità di messaggistica dell'utente finale. Per i dettagli, consulta CreateChatToken nella Documentazione di riferimento dell'API Chat IVS.
Istruzioni per SDK AWS
La creazione di un token di chat con l'SDK AWS richiede prima il download e la configurazione dell'SDK sull'applicazione. Di seguito sono riportate le istruzioni per l'SDK AWS che utilizza JavaScript.
Importante: questo codice deve essere eseguito sul lato server e il relativo output passato al client.
Prerequisito: per utilizzare l'esempio di codice riportato di seguito, è necessario caricare l'SDK AWS JavaScript nell'applicazione. Per informazioni dettagliate, consultare Guida introduttiva all'SDK AWS per JavaScript.
async function createChatToken(params) { const ivs = new AWS.Ivschat(); const result = await ivs.createChatToken(params).promise(); console.log("New token created", result.token); } /* Create a token with provided inputs. Values for user ID and display name are from your application and refer to the user connected to this chat session. */ const params = { "attributes": { "displayName": "DemoUser", }", "capabilities": ["SEND_MESSAGE"], "roomIdentifier": "arn:aws:ivschat:us-west-2:123456789012:room/g1H2I3j4k5L6", "userId": 11231234 }; createChatToken(params);
Istruzioni per la CLI
La creazione di un token di chat con la AWS CLI è un'opzione avanzata e richiede prima il download e la configurazione della CLI sul computer. Per maggiori dettagli, consultare la Guida per l'utente dell'interfaccia a riga di comando di AWS. Nota: la generazione di token con l'AWS CLI è utile per scopi di test, ma per l'uso in produzione, si consiglia di generare token sul lato server con l'SDK AWS (vedere le istruzioni sopra).
-
Eseguire il comando
create-chat-token
insieme all'identificatore della stanza e all'ID utente per il client. Includere una delle funzionalità seguenti:"SEND_MESSAGE"
,"DELETE_MESSAGE"
,"DISCONNECT_USER"
. Facoltativamente, includere la durata della sessione (in minuti) e/o attributi personalizzati (metadati) su questa sessione di chat. Questi campi non sono mostrati di seguito.aws ivschat create-chat-token --room-identifier "arn:aws:ivschat:us-west-2:123456789012:room/g1H2I3j4k5L6" --user-id "11231234" --capabilities "SEND_MESSAGE"
-
Viene restituito un token di client:
{ "token": "abcde12345FGHIJ67890_klmno1234PQRS567890uvwxyz1234.abcd12345EFGHI67890_jklmno123PQRS567890uvwxyz1234abcde12345FGHIJ67890_klmno1234PQRS567890uvwxyz1234abcde", "sessionExpirationTime": "2022-03-16T04:44:09+00:00", "tokenExpirationTime": "2022-03-16T03:45:09+00:00" }
-
Salvare questo token. Si avrà bisogno di questo token per connettersi alla chat room e inviare o ricevere messaggi. Sarà necessario generare un altro token di chat prima della fine della sessione (come indicato da
sessionExpirationTime
).