如何在没有密码的情况下连接转盘

时间:2019-06-08 06:43:27

标签: xmpp ejabberd strophe strophe.js

目前,我可以通过在Angular项目中输入jid和密码来连接strophe。但是通过提供用户名和密码是不安全的。除了提供jid和密码外,还有其他类似JWT简单身份验证的方法吗? Ejabberd托管在Windows OS的本地系统中。

我正在寻找基于令牌的登录。

this._xmppConnection = new Strophe.Connection("http://localhost:5280/bosh/", { 'keepalive': true });

this._xmppConnection.connect(jid, password, this._onConnect);
// working one

我正在寻找使用JWT令牌的连接引号。 ejabberd中有这种支持吗?

1 个答案:

答案 0 :(得分:3)

@sahal您可以使用其他身份验证介质来实现,例如。 OAuth令牌

使用ejabberd api为用户生成OAuth令牌。

  • 端点:/ api / oauth_issue_token
  • 样本:curl -H“ X-Admin:true” -X POST -u admin_jid:pass -d'{“ jid”:“ user_jid”,“ ttl”:3600,“ scopes”:“ connected_users_number; sasl_auth” }'http://ip:port/api/oauth_issue_token

在创建strophe实例时将选项机制设为[Strophe.SASLXOAuth2]

使用您的oauth令牌连接替换密码时,例如。 connection.connect(jid,ejabberd_oauth_token)