首页 > 解决方案 > Agora.io 令牌问题 Android

问题描述

我们正在从 agora 提供的令牌服务器生成 agora 令牌,但令牌在生成后立即过期,它会抛出错误代码 109 的 DYNAMIC-KEY-EXPIRY,我尝试使用 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 天更改一次凭证并且新生成的令牌在生成后即将过期所以如果有人遇到同样的问题并且对此提供任何帮助,我们将不胜感激

标签: androidagora.io

解决方案


我们正在使用 agora 令牌服务器生成令牌,到期时间为 3600

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

常量角色 = RtcRole.PUBLISHER;

常量过期时间InSeconds = 3600

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

const privilegeExpiredTs = currentTimestamp + expirationTimeInSeconds

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

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

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

}

这是节点 js 代码片段


推荐阅读