Compartir a través de


Biblioteca cliente de Azure Communication Identity para JavaScript: versión 1.3.1

La biblioteca de identidades se usa para administrar usuarios y tokens para Azure Communication Services.

Introducción

Requisitos previos

Instalación de

npm install @azure/communication-identity

Compatibilidad con exploradores

Paquete de JavaScript

Para usar esta biblioteca cliente en el explorador, primero debe usar un empaquetador. Para más información sobre cómo hacerlo, consulte nuestra documentación de agrupación.

Conceptos clave

Clientes

CommunicationIdentityClient proporciona métodos para administrar usuarios y sus tokens.

Ejemplos

Authentication

Puede obtener una clave o cadena de conexión del recurso de Communication Services en Azure Portal. Una vez que tenga una clave, puede autenticarse CommunicationIdentityClient con cualquiera de los métodos siguientes:

Crear KeyCredential con AzureKeyCredential antes de inicializar el cliente

import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-identity";

const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(ENDPOINT, credential);

Uso de un cadena de conexión

import { CommunicationIdentityClient } from "@azure/communication-identity";

const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);

Uso de TokenCredential

import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";

const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(ENDPOINT, credential);

Si usa una clave para inicializar el cliente, también deberá proporcionar el punto de conexión adecuado. Puede obtener este punto de conexión del recurso de Communication Services en Azure Portal.

Uso

Creación de una instancia de CommunicationIdentityClient

import { CommunicationIdentityClient } from "@azure/communication-identity";

const client = new CommunicationIdentityClient(CONNECTION_STRING);

Creación de un nuevo usuario

Use el createUser método para crear un nuevo usuario.

const user = await client.createUser();

Creación y actualización de un token de usuario

Use el getToken método para emitir o actualizar un token para un usuario existente. El método también toma una lista de ámbitos de token de comunicación. Entre las opciones de ámbito se incluyen:

  • chat (Úselo para obtener acceso completo a las API de chat)
  • voip (Úselo para obtener acceso completo a las API de llamada)
  • chat.join (Acceso a las API de chat, pero sin la autorización para crear, eliminar o actualizar subprocesos de chat)
  • chat.join.limited (Una versión más limitada de chat.join que no permite agregar o quitar participantes)
  • voip.join (Acceso a las API de llamada, pero sin la autorización para iniciar nuevas llamadas)
let { token } = await client.getToken(user, ["chat"]);

Para actualizar el token de usuario, emita otro token con el mismo usuario.

let { token } = await client.getToken(user, ["chat"]);

Creación de un token de usuario con expiración personalizada

También es posible crear un token de acceso de identidad de comunicación personalizando la hora de expiración. El período de validez del token debe estar dentro del intervalo de [60 1440] minutos. Si no se proporciona, se usará el valor predeterminado de 1440 minutos (24 horas).

const tokenOptions: GetTokenOptions = { tokenExpiresInMinutes: 60 };
let { token } = await client.getToken(user, ["chat"], tokenOptions);

Creación de un usuario y un token en una sola solicitud

Para mayor comodidad, use createUserAndToken para crear un nuevo usuario y emitir un token con una llamada de función. Esto se traduce en una única solicitud web en lugar de crear un usuario primero y, a continuación, emitir un token.

let { user, token } = await client.createUserAndToken(["chat"]);

Creación de un usuario y un token con expiración personalizada en una sola solicitud

También es posible crear un token de acceso de identidad de comunicación personalizando la hora de expiración. El período de validez del token debe estar dentro del intervalo de [60 1440] minutos. Si no se proporciona, se usará el valor predeterminado de 1440 minutos (24 horas).

const userAndTokenOptions: CreateUserAndTokenOptions = { tokenExpiresInMinutes: 60 };
let { user, token } = await client.createUserAndToken(["chat"], userAndTokenOptions);

Revocación de tokens para un usuario

Use el revokeTokens método para revocar todos los tokens emitidos para un usuario.

await client.revokeTokens(user);

Eliminar un usuario

Use el deleteUser método para eliminar un usuario.

await client.deleteUser(user);

Intercambio del token de acceso de Azure AD de un usuario de Teams para un token de acceso de comunicación

Use getTokenForTeamsUser el método para intercambiar un token de acceso de Azure AD de un usuario de Teams para un nuevo CommunicationAccessToken con una fecha de expiración coincidente.

await client.getTokenForTeamsUser({
  teamsUserAadToken: "<aad-access-token-of-a-teams-user>",
  clientId: "<cliend-id-of-an-aad-application>",
  userObjectId: "<aad-object-id-of-a-teams-user>",
});

Solución de problemas

Pasos siguientes

Eche un vistazo al directorio de ejemplos para obtener ejemplos detallados sobre cómo usar esta biblioteca.

Contribuciones

Si desea contribuir a esta biblioteca, lea la guía de contribución para obtener más información sobre cómo compilar y probar el código.

Impresiones