如何从deepstream.io注销?

时间:2016-03-26 14:23:48

标签: javascript node.js deepstream.io

我可以关闭与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客户端实例,用户也不会更改。

2 个答案:

答案 0 :(得分:1)

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

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

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

window.ds = createClient()

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

答案 1 :(得分:1)

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

可以看到它覆盖在here

问题已提出here