微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Agora.io 代币发行 Android

如何解决Agora.io 代币发行 Android

我们正在从 agora 提供的令牌服务器生成 agora 令牌,但令牌在生成后立即过期,它抛出 DYNAMIC-KEY-EXPIRY 错误代码 109,我尝试使用下面 SDK 中提供的 onRequestToken() 回调方法代码片段

override fun onRequestToken() {
            //this will be called when the token expires
            //so generate new token and renew the existing token
            runOnUiThread {
                regeneratetoken()
            }
        }

并从服务器获取一个令牌并使用 mRtcEngine.renewToken(token) 更新令牌 我们已经就此与 agora 团队联系过,但无法找到有时生成的令牌有效的问题,我们有两个帐户,一个是测试帐户,另一个是主帐户,当我们使用它工作一天左右的一个凭据时,我们需要每 2 天更改一次凭据 并且新生成的令牌在生成后即将到期 因此,如果有人遇到同样的问题并对此提供任何帮助,我们将不胜感激

解决方法

生成令牌时,可以在请求参数中设置令牌过期时间。这是令牌生成指南。 https://docs.agora.io/en/Video/token_server?platform=Android

如果您设置了过期时间但仍有问题,请告诉我。

,

我们使用agora token server生成token,过期时间为3600

const { RtcTokenBuilder,RtmTokenBuilder,RtcRole,RtmRole } = require('agora-access-token');

const role = RtcRole.PUBLISHER;

const expireTimeInSeconds = 3600

const currentTimestamp = Math.floor(Date.now() / 1000)

const privilegeExpiredTs = currentTimestamp + expireTimeInSeconds

const generateAuthTokenToInititateCall = async (channel,cb) => {

const token = RtcTokenBuilder.buildTokenWithUid(appID,appCertificate,channel,role,privilegeExpiredTs);

cb({ "token": token,"channel": channel })

}

这是节点js代码片段

,

有人能解决这个问题吗?尽管将到期时间设置为 3600 秒(从当前时间算起 1 小时),但仍会发生这种情况。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。