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
- Una suscripción de Azure.
- Un recurso de Communication Services existente. Si necesita crear el recurso, puede usar Azure Portal, el Azure PowerShell o la CLI de Azure.
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.
Proyectos relacionados
Azure SDK for JavaScript