1

我可以关闭连接,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在再次登录之前创建了一个新的客户端实例,用户也不会改变。

4

2 回答 2

1

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

可以在这里看到它覆盖的线

这里提出的问题

于 2016-03-26T16:54:20.207 回答
1

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

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

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

window.ds = createClient()

ds.logout = () => {
  ds.close()
  window.ds = createClient()
}
于 2016-03-26T15:08:24.347 回答