如何管理 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 会话令牌?