ConverseJS Openfire重新登录问题(错误请求400)

问题描述:

我在我的聊天应用程序中使用openfire和converseJS。我在开始时拨打converse.initialize({ parameters}),聊天工作正常。但是当我注销时,我打电话给ConverseJS Openfire重新登录问题(错误请求400)

_converse.api.user.logout(); 

然后当我再次登录时,我再次拨打converse.initialize({ parameters})。 抛出一个错误

POST http://server.url:7070/http-bind/ 400(错误请求) 错误,因此无法登录。

在两种情况下调用的初始化方法的完整参数列表如下。

converse.initialize({ 
    bosh_service_url: url,//url passed from top 
    jid:userId,//userId passed from top 
    password: password,// password passed from top 
    message_archiving:'always', 
    keepalive: true, 
    message_carbons: true, 
    play_sounds: false, 
    roster_groups: true, 
    show_controlbox_by_default: false, 
    xhr_user_search: false, 
    auto_away: 900, 
    auto_xa: 1800, 
    auto_reconnect : true, 
    auto_login: true, 
    storage:'session', 
    use_vcards:false, 
    whitelisted_plugins: ['converse_plugin'] 
}); 

让我知道它出错了。你的帮助真的很感谢!

converse.initialize应该只在每页加载时调用一次。

如果要在注销后再次登录,可以拨打_converse.api.user.login()

检查这里的文档:https://conversejs.org/docs/html/developer_api.html#login

this._converse.api.user.login({ 
     'jid': '[email protected]', 
     'password': 'secret' 
    });