【问题标题】:How do I logout from deepstream.io?如何从 deepstream.io 注销?
【发布时间】:2016-03-26 14:23:48
【问题描述】:

我可以关闭与ds.close() 的连接,但只要我运行ds.login(),我就会以同一用户身份登录,而不管提供的凭据如何。

ds.login({user: 'admin', pass: 'admin'})
// AUTH_SUCCESSFUL | admin

ds.close()
// CLIENT_DISCONNECTED | admin

ds.login({})
// INCOMING_CONNECTION | from http://localhost:3000/ (127.0.0.1) via engine.io
// AUTH_SUCCESSFUL | admin

即使我在再次登录之前创建了一个新的deepstream 客户端实例,用户也不会改变。

【问题讨论】:

  • 您应该考虑为此提交错误。

标签: javascript node.js deepstream.io


【解决方案1】:

实际上,关闭连接并创建一个新实例似乎可以解决问题。我现在就用这个​​猴子补丁......

import deepstreamClient from 'deepstream.io-client-js'

const createClient = () => deepstreamClient('localhost:6020')

window.ds = createClient()

ds.logout = () => {
  ds.close()
  window.ds = createClient()
}

【讨论】:

    【解决方案2】:

    再次调用 ds.login 意味着用传入的内容覆盖 auth 参数。创建了一个问题来测试它,看看我们可以复制它/看看某处是否存在错误。

    可以看到它覆盖的行here

    提出的问题here

    【讨论】:

      猜你喜欢
      • 2021-01-24
      • 2017-12-31
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      • 2012-11-17
      • 2012-08-16
      • 1970-01-01
      • 2023-04-09
      相关资源
      最近更新 更多