无法创建和使用令牌来为团队用户使用 ACS:“CallAgent 必须仅使用 ACS 令牌创建。”

问题描述 投票:0回答:1

我正在尝试遵循两个教程,两个教程都有效,但我的用例仍然出现错误。

  • 首先是如何为 Teams 用户获取 ACS 令牌此处(对于直接在教程中跳转的 C# 代码此处)(注意:我的真实用例是一个 Web 应用程序,因此我获取令牌的方式略有不同,但代币本身的内容和发行完全相同)
  • 第二个如何创建使用 @azure/communication-common 的自定义 Web 应用程序 @azure/communication-react 包来参与团队通话。 此处(请参阅第 11 点。如果您需要详细信息,我将令牌放置在此处)

第一个似乎正在工作,我正在使用我的[电子邮件受保护]登录,并获得了令牌: (guid 53b----b70是我在租户中的用户ID))

{
  "skypeid": "orgid:53b*****-****-****-****-*********b70",
  "scp": 1024,
  "csi": "1715345005",
  "exp": 1715349008,
  "rgn": "emea",
  "tid": "937*****-****-****-****-*********7d1",
  "acsScope": "voip,chat",
  "resourceId": "871*****-****-****-****-*********86d",
  "aad_iat": "1715345005",
  "aad_uti": "E4*****************oAA",
  "aad_appid": "1fd5118e-2576-4263-8130-9503064c837a",// ACS Service Principal
  "iat": 1715345305
}

第二个也可以工作,如果我正在使用从 Azure 门户上配置的通信服务页面生成的(未经验证的用户)身份和访问令牌值。

问题:

如果我尝试使用第二个教程中的应用程序以团队用户身份加入会议[电子邮件受保护]),并尝试使用身份 53b-- --b70,并且从上面第一个教程成功生成令牌,我收到错误消息:

CallError:CallClient.createCallAgent:只能创建CallAgent 带有 ACS 代币

错误消息提示我的门户生成的令牌下面有一个以 acs: 开头的“skypeid”,但不起作用的我的 Teams 用户令牌的 skypeid 以 orgid: 开头?但如何为我的 Teams 用户获取这样的令牌?

// portal generated token which is working, skypid starts with acs, 
// and in form of acs:{resourceId}_{randomuser-id}. 
// According to portal generated Identitiy which is the same with 8: prefix
{
  "skypeid": "acs:871*****-****-****-****-*********86d_000*****-****-****-****-*********fc1", 
  "scp": 1792,
  "csi": "1715344681",
  "exp": 1715431081,
  "rgn": "emea",
  "acsScope": "chat,voip",
  "resourceId": "871*****-****-****-****-*********86d",
  "resourceLocation": "europe",
  "iat": 1715344681
}
azure azure-active-directory microsoft-teams access-token azure-communication-services
1个回答
0
投票

根据此changelog,您必须使用TeamsCallAgent而不是CallAgent。

const userToken = '<ACCESS_TOKEN_FOR_MICROSOFT_365_IDENTITY>';
callClient = new CallClient();
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const teamsCallAgent = await callClient.createTeamsCallAgent(tokenCredential);
© www.soinside.com 2019 - 2024. All rights reserved.