如何管理 quickblox 会话 Javascript SDK

Posted

技术标签:

【中文标题】如何管理 quickblox 会话 Javascript SDK【英文标题】:How to manage quickblox session Javascript SDK 【发布时间】:2015-09-27 19:51:53 【问题描述】:

我已经成功创建了 quickblox 会话,并且在从一个页面移动到另一个页面时它可以工作。但是一旦网络应用程序被刷新,会话就会丢失,我必须使用身份验证密钥等再次初始化。

我尝试保留创建会话时获得的令牌并使用此令牌初始化 quickblox 对象,但它给出了一个错误,说我需要提供身份验证密钥等。根据他们的文档应该可以工作。

我想知道是否有更有效的会话管理方式?我不喜欢每次刷新应用程序时都必须重新初始化会话。任何指针将不胜感激。 我通常使用 pouch db 将会话详细信息保存在本地存储中。该应用程序是一个 Angular js 应用程序,使用 ui-router。我使用 stateprovider 的 run 函数来初始化 qb 对象,但我首先检查是否存在会话。

LcDb.get session().then(
  function(res)
     Qb.init(res.token);
  ,
  function(err) 
     Var config = 
              on: 
                sessionExpired:function(next,retry)

                 
                
             QB.init(app.Id,app.key,app.secret,config);
              )
        QB.create session(function(err,result)

【问题讨论】:

它应该按照您描述的方式工作。您能否向我们提供有关您如何实现它的更多详细信息,代码? 我刚刚编辑了我的帖子并包含了一些代码。 你的代码看起来没问题,当你调用 Qb.init(token) 时出现什么错误?请提供有关此错误的更多详细信息 它说没有 auth id 就无法初始化 【参考方案1】:

我在我的项目中遇到了同样的问题,我要做的是,首先,我检查 QB.chat 是否存在,如果 QB.chat 不存在那么,你必须重新初始化所有的东西,喜欢(创建会话、登录、连接、设置所有处理程序)使用您的登录凭据(用户名和密码)。 我已经在 Angular js 中实现了,所以我将此代码添加到 app.js 中的运行函数中,每次状态更改时都会调用此函数。 您必须以 QB.chat 在您刷新页面时检查的方式实施。 希望这会对你有所帮助。

【讨论】:

以上是关于如何管理 quickblox 会话 Javascript SDK的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中创建 QuickBlox 会话 [关闭]

使用 Facebook 登录时如何访问 quickblox 会话令牌?

如何在 Quickblox iOS SDK 中检查会话是不是有效或过期?

如何管理 Quick Blox 会话?

如何在 PHP 中生成 QuickBlox 身份验证签名?

Android 上的 Quickblox 视频通话