Paso 3: crear un token de chat - Amazon IVS

Paso 3: crear un token de chat

Para que un participante del chat se conecte a una sala y comience a enviar y recibir mensajes, se debe crear un token de chat. Los tokens de chat se utilizan para autenticar y autorizar a los clientes de chat.

Este diagrama ilustra el flujo de trabajo para crear un token de chat de IVS:

Autentique y autorice a sus clientes para su sala de chat recién creada.

Como se muestra arriba, una aplicación cliente solicita un token a su aplicación del lado del servidor y la aplicación del lado del servidor llama a CreateChatToken mediante solicitudes firmadas por AWS SDK o Sigv4. Como las credenciales de AWS se utilizan para llamar a la API, el token debe generarse en una aplicación segura del lado del servidor, no en la aplicación del lado del cliente.

Una aplicación de servidor backend que muestra la generación de tokens está disponible en Backend de demostración de chat de Amazon IVS.

Duración de la sesión hace referencia a cuánto tiempo puede permanecer activa una sesión establecida antes de que finalice automáticamente. Es decir, la duración de la sesión es el tiempo que el cliente puede permanecer conectado a la sala de chat antes que se deba generar un nuevo token y establecer una nueva conexión. Durante la creación de tokens, puede especificar la duración de la sesión como opción.

Cada token solo se puede utilizar una vez para establecer una conexión para un usuario final. Si una conexión está cerrada, se debe crear un nuevo token antes de restablecer una conexión. El token en sí es válido hasta la fecha de caducidad del token incluida en la respuesta.

Cuando un usuario final quiere conectarse a una sala de chat, el cliente debe solicitar un token a la aplicación del servidor. La aplicación de servidor crea un token y lo envía al cliente. Los tokens deben crearse para los usuarios finales a pedido.

Para crear un token de autenticación de chat, siga las instrucciones debajo. Al crear un token de chat, utilice los campos de solicitud para transferir datos sobre el usuario final del chat y las capacidades de mensajería del usuario final; para obtener más información, consulte CreateChatToken en la Referencia de la API del Chat de IVS.

Instrucciones del SDK de AWS

Crear un token de chat con el SDK de AWS requiere que descargue y configure primero el SDK en su aplicación. A continuación, se muestran las instrucciones para el SDK de AWS mediante JavaScript.

Importante: Este código debe ejecutarse en el lado del servidor y su salida se debe pasar al cliente.

Requisito previo: para utilizar el ejemplo de código siguiente, debe cargar el SDK de JavaScript de AWS en su aplicación. Para obtener más información, consulte Introducción a SDK de AWS para 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);

Instrucciones de la CLI

Crear un token de chat con la AWS CLI es una opción avanzada y requiere que primero descargue y configure la CLI en su equipo. Para obtener más información, consulte la Guía del usuario de la interfaz de línea de comandos de AWS. Nota: La generación de tokens con la CLI de AWS es buena para realizar pruebas, pero para uso en producción, le recomendamos que genere tokens en el lado del servidor con el SDK de AWS (consulte las instrucciones anteriores).

  1. Ejecute el comando create-chat-token junto con el identificador de sala y el identificador de usuario del cliente. Incluya cualquiera de las siguientes capacidades: "SEND_MESSAGE", "DELETE_MESSAGE", "DISCONNECT_USER". (Opcionalmente, incluya la duración de la sesión [en minutos] o atributos personalizados [metadatos] sobre esta sesión de chat. Estos campos no se muestran a continuación.)

    aws ivschat create-chat-token --room-identifier "arn:aws:ivschat:us-west-2:123456789012:room/g1H2I3j4k5L6" --user-id "11231234" --capabilities "SEND_MESSAGE"
  2. Esto devuelve un token de cliente:

    { "token": "abcde12345FGHIJ67890_klmno1234PQRS567890uvwxyz1234.abcd12345EFGHI67890_jklmno123PQRS567890uvwxyz1234abcde12345FGHIJ67890_klmno1234PQRS567890uvwxyz1234abcde", "sessionExpirationTime": "2022-03-16T04:44:09+00:00", "tokenExpirationTime": "2022-03-16T03:45:09+00:00" }
  3. Guarde este token. Lo necesitará para conectarse a la sala de chat y enviar o recibir mensajes. Tendrá que generar otro token de chat antes de que finalice la sesión (como se indica en sessionExpirationTime).