Biblioteca cliente común de Azure Communication para JavaScript: versión 2.3.1
Este paquete contiene código común para las bibliotecas de Azure Communication Service.
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-common
Compatibilidad con exploradores
Paquete de JavaScript
Para usar esta biblioteca cliente en el explorador, primero debe usar un agrupador. Para más información sobre cómo hacerlo, consulte nuestra documentación de agrupación.
Conceptos clave
CommunicationTokenCredential y AzureCommunicationTokenCredential
CommunicationTokenCredential
es una interfaz que se usa para autenticar a un usuario con Communication Services, como chat o llamadas.
Ofrece AzureCommunicationTokenCredential
una manera cómoda de crear una credencial que implemente dicha interfaz y le permite aprovechar la lógica de actualización automática integrada.
En función de su escenario, puede que desee inicializar con AzureCommunicationTokenCredential
:
- un token estático (adecuado para clientes de corta duración que se usan para, por ejemplo, enviar mensajes de chat de un solo uso) o
- una función de devolución de llamada que garantiza un estado de autenticación continua durante las comunicaciones (por ejemplo, para sesiones de llamada largas).
Los tokens proporcionados a AzureCommunicationTokenCredential
través del constructor o a través de la devolución de llamada del actualizador de tokens se pueden obtener mediante la biblioteca azure Communication Identity.
Ejemplos
Creación de una credencial con un token estático
En el caso de los clientes de corta duración, la actualización del token tras la expiración no es necesaria y AzureCommunicationTokenCredential
se puede crear una instancia de con un token estático.
const tokenCredential = new AzureCommunicationTokenCredential(
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);
Creación de una credencial con una devolución de llamada
Aquí se supone que tenemos una función fetchTokenFromMyServerForUser
que realiza una solicitud de red para recuperar una cadena de token JWT para un usuario. Lo pasamos a la credencial para capturar un token para Bob desde nuestro propio servidor. Nuestro servidor usaría la biblioteca azure Communication Identity para emitir tokens. Es necesario que la fetchTokenFromMyServerForUser
función devuelva un token válido (con una fecha de expiración establecida en el futuro) en todo momento.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});
Creación de una credencial con actualización proactiva
Si se establece refreshProactively
en true, se llamará a la tokenRefresher
función cuando el token esté próximo a expirar.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
});
Creación de una credencial con actualización proactiva y un token inicial
Pasar initialToken
es una optimización opcional para omitir la primera llamada a tokenRefresher
. Puede usarlo para separar el arranque de la aplicación de los ciclos de actualización de tokens posteriores.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
token:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});
Solución de problemas
- Token no válido especificado: asegúrese de que el token que está pasando al
AzureCommunicationTokenCredential
constructor o a latokenRefresher
devolución de llamada es una cadena de token JWT completa. Por ejemplo, si usa la biblioteca de identidades de Azure Communication o la API REST para obtener el token, asegúrese de pasar solo latoken
parte del objeto de respuesta.
Pasos siguientes
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