你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 JavaScript 的 Azure 通信通用客户端库 - 版本 2.3.1
此包包含 Azure 通信服务库的通用代码。
入门
先决条件
- 一个 Azure 订阅。
- 现有的通信服务资源。 如果需要创建资源,可以使用 Azure 门户、Azure PowerShell或 Azure CLI。
安装
npm install @azure/communication-common
浏览器支持
JavaScript 捆绑包
若要在浏览器中使用此客户端库,首先需要使用捆绑程序。 有关如何执行此操作的详细信息,请参阅捆绑 文档。
关键概念
CommunicationTokenCredential 和 AzureCommunicationTokenCredential
CommunicationTokenCredential
是用于使用通信服务(如聊天或通话)对用户进行身份验证的接口。
提供了 AzureCommunicationTokenCredential
一种便捷的方式来创建实现所述接口的凭据,并允许你利用内置的自动刷新逻辑。
根据你的方案,可能需要使用以下项初始化 AzureCommunicationTokenCredential
:
- 静态令牌 (适用于生存期较短的客户端,例如) 发送一次性聊天消息或
- 一个回调函数,可确保通信期间持续身份验证状态 (理想状态,例如,对于长时间的呼叫会话) 。
可以使用 Azure 通信标识库获取通过构造函数或令牌刷新器回调提供给 AzureCommunicationTokenCredential
的令牌。
示例
使用静态令牌创建凭据
对于生存期较短的客户端,不需要在过期时刷新令牌, AzureCommunicationTokenCredential
可以使用静态令牌实例化 。
const tokenCredential = new AzureCommunicationTokenCredential(
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);
使用回调创建凭据
此处,我们假设有一个函数,该函数 fetchTokenFromMyServerForUser
发出网络请求来检索用户的 JWT 令牌字符串。 我们将它传递到凭据中,以便从我们自己的服务器中为 Bob 提取令牌。 我们的服务器将使用 Azure 通信标识库颁发令牌。 函数必须 fetchTokenFromMyServerForUser
返回一个有效的令牌 (,并在将来) 一直设置到期日期。
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});
创建具有主动刷新的凭据
将 设置为 refreshProactively
true 将在令牌即将过期时调用 tokenRefresher
函数。
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
});
创建具有主动刷新和初始令牌的凭据
initialToken
传递是一种可选的优化,用于跳过对 的第一次调用tokenRefresher
。 可以使用此功能将启动与应用程序的后续令牌刷新周期分开。
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
token:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});
故障排除
- 指定的令牌无效:请确保传递给
AzureCommunicationTokenCredential
构造函数或回调的tokenRefresher
令牌是一个裸露的 JWT 令牌字符串。 例如,如果使用 Azure 通信标识库 或 REST API 获取令牌,请确保仅传递响应对象的部分token
。
后续步骤
贡献
若要为此库做出贡献,请阅读贡献指南,详细了解如何生成和测试代码。