3

从我的服务器生成的安全令牌无法正常工作。我在 AgoraWebSDK-NG 中修改了 demo 的 basicLive.js 以使用我的服务器。我正在使用 Agora 提供的 Golang api 来生成令牌。一些信息:

AppID: ---
App Certificate: ---
channel name: liveshow10
uid: 51495 (I assume Agora does not care about this as long as it is uint32)
token expiration seconds: 3600
generated token: 006cb08a5a2ddc049f79f29d9b52e5909b0IABKKxbI64sFWnkyEICQrL+0DeTsrN9ckKMkDj/oir36aV+tq536WyGcIgCHHmUFHNv6XgQAAQCsl/leAgCsl/leAwCsl/leBACsl/le

但是我在控制台中遇到了一堆错误。我认为这归结为授权错误,生成的令牌以某种方式无效。以下是浏览器控制台,感谢您的帮助:

在此处输入图像描述

4

1 回答 1

8

对于任何跟随的人来说,这个问题都与 UID 有关。在上面的代码中,token 是专门为 UID 生成的,51495但在 Agora Demo 中,JoinChannel 方法null作为 UID 值传递,它告诉 SDK 为该用户生成自己的 UID。

当尝试加入与生成令牌时使用的 UID 不同的频道时,您将收到错误消息。

如果要生成任何用户都可以使用的token,需要在token生成时将UID设置为0,然后可以使用任意UID加入该token的频道。

更新: UID 0 的详细信息可以在 UID 参数描述docs.agora.io/en/video/token_server#api-reference中的令牌服务器 API 参考中找到

于 2020-07-23T15:25:56.747 回答