生成的Agora.io安全令牌无效(Golang)

生成的Agora.io安全令牌无效(Golang),agora.io,agora-web-sdk-ng,Agora.io,Agora Web Sdk Ng,从服务器生成的安全令牌正常工作时出现问题。我在AgoraWebSDK NG中修改了演示的basicLive.js以与我的服务器配合使用。我正在使用Agora提供的GolangAPI生成令牌。一些信息: AppID: --- App Certificate: --- channel name: liveshow10 uid: 51495 (I assume Agora does not care about this as long as it is uint32) token expiratio

从服务器生成的安全令牌正常工作时出现问题。我在AgoraWebSDK NG中修改了演示的basicLive.js以与我的服务器配合使用。我正在使用Agora提供的GolangAPI生成令牌。一些信息:

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
但我在控制台上发现了一大堆错误。我认为这归结为一个授权错误——不知何故生成的令牌无效。以下是浏览器控制台,感谢您的帮助:


对于任何关注此事的人来说,这个问题都与UID有关。在上面的代码中,令牌是专门为UID生成的
51495
,但在Agora演示中,JoinChannel方法将
null
作为UID值传递,告知SDK为该用户生成自己的UID

当尝试使用与用于生成令牌的UID不同的UID加入通道时,您将收到一个错误


如果要生成可供任何用户使用的令牌,需要在生成令牌时将UID设置为0,然后可以使用任何UID将此令牌加入频道。

如果对令牌进行硬编码,是否会出现错误?您是否实现了“tokenwillexpire”和“dideexpire”回调?您使用的是String还是int-UID?我使用的是uint32-UID。在python示例中,我再次尝试使用RtcTokenBuilderSample.py生成令牌。我运行了basicLive演示,提供生成的令牌。还是同样的错误。Agora服务器仍抱怨令牌无效。请使用字符串重试。相同错误:“AgorartError无法获取网关服务器:令牌无效,授权失败”。顺便说一句,硬编码令牌也没有帮助,同样的错误。我只是测试了没有令牌的AppId,它连接没有问题()和()。这意味着您的帐户上的令牌设置不正确,因此任何令牌都不起作用。你能给我发封电子邮件吗hermes@agora.ioWow... 我不敢相信我犯了这么愚蠢的错误。。。。UID是我出现问题的第一个原因,其次,我没有启用应用程序证书。在我做了上述工作之后,它工作得非常好。非常感谢你的回答!我觉得UID是非常可选的,就像从Agora控制台生成的令牌一样。你的回答对我的Agora Flatter+PHP有帮助backend@Eaweb您是如何从后端生成令牌的?每当我在后端生成令牌并尝试在客户端使用它时(几乎立即),我都会得到令牌过期。您是如何计算过期时间的?查看我的关于使用nodejs Hi@Temi'Topsy'Bello生成令牌的指南,确保您使用用于在后端生成令牌的相同UID加入通道。它也值得检查有效期。