Biblioteca cliente común de Azure Communication Service para Java: versión 1.2.13
Azure Communication Common contiene estructuras de datos que se usan habitualmente para comunicarse con Azure Communication Services. Está pensado para proporcionar preocupaciones transversales, por ejemplo, la autenticación.
Introducción
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Kit de desarrollo de Java (JDK), versión 8 o posterior.
- Apache Maven.
- Un recurso de Communication Services implementado.
Inclusión del archivo BOM
Incluya azure-sdk-bom en el proyecto para depender de la versión de disponibilidad general (GA) de la biblioteca. En el fragmento de código siguiente, reemplace el marcador de posición {bom_version_to_target} por el número de versión. Para más información sobre la lista de materiales, consulte EL ARCHIVO LÉAME BOM del SDK de AZURE.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
y, luego, incluya la dependencia directa en la sección de dependencias sin la etiqueta de versión.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-common</artifactId>
</dependency>
</dependencies>
Inclusión de dependencias directas
Si quiere depender de una versión determinada de la biblioteca que no está presente en la lista de materiales, agregue la dependencia directa al proyecto como se indica a continuación.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-common</artifactId>
<version>1.2.13</version>
</dependency>
Conceptos clave
Para trabajar con Azure Communication Services, se usa una clave de acceso a recursos para la autenticación.
Azure Communication Service admite la autenticación HMAC con la clave de acceso a recursos. Para aplicar la autenticación HMAC, construya CommunicationClientCredential
con la clave de acceso y cree una CommunicationIdentityClient
instancia de para administrar usuarios y tokens.
CommunicationTokenCredential
El CommunicationTokenCredential
objeto se usa para autenticar a un usuario con Communication Services, como chat o llamadas. Opcionalmente, proporciona un mecanismo de actualización automática para garantizar un estado de autenticación constantemente estable durante las comunicaciones.
En función de su escenario, puede que desee inicializar con CommunicationTokenCredential
:
- 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 (por ejemplo, para sesiones de llamada largas).
Los tokens proporcionados a CommunicationTokenCredential
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 CommunicationTokenCredential
se puede crear una instancia con un token estático.
String token = System.getenv("COMMUNICATION_SERVICES_USER_TOKEN");
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(token);
Creación de una credencial con actualización proactiva con una devolución de llamada
Como alternativa, para los clientes de larga duración, puede crear un CommunicationTokenCredential
con una devolución de llamada para renovar tokens si ha expirado.
Aquí se supone que tenemos una función fetchTokenFromMyServerForUser
que realiza una solicitud de red para recuperar una cadena de token para un usuario.
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.
Opcionalmente, puede habilitar la actualización proactiva de tokens en la que se adquirirá un token nuevo en cuanto expiren los enfoques de token anteriores. Con este método, es menos probable que las solicitudes se bloqueen para adquirir un token nuevo:
String token = System.getenv("COMMUNICATION_SERVICES_USER_TOKEN");
CommunicationTokenRefreshOptions tokenRefreshOptions = new CommunicationTokenRefreshOptions(fetchTokenFromMyServerForUser)
.setRefreshProactively(true)
.setInitialToken(token);
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(tokenRefreshOptions);
Solución de problemas
En curso.
Pasos siguientes
Consulte otras bibliotecas de cliente para el servicio de comunicación de Azure.
Contribuciones
Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución.
Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.
Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.