3

我正在尝试从 strophe.js 连接到 ejabberd 服务器。我已经在 ejabberd 中启用了 OAuth,因此一旦用户通过身份验证,我就可以为用户成功获取 OAuth 令牌。工作流程类似于上面:-

  1. 当用户注册我的网络应用程序时,我为用户创建 ejabberd 帐户,具有相同的凭据。
  2. 用户登录我的网络应用
  3. 成功登录后,我在 OAuth 机制的帮助下将用户登录到 ejabberd。
  4. OAuth 令牌被传递给客户端
  5. 现在使用 strophe.js 的客户端与 ejabberd 建立连接以执行所有其他操作,例如获取花名册列表、发送出席信息、发送消息等。

我在步骤 4 中遇到问题,因为在建立连接时我无法找到合适的方式将 OAuth 令牌发送到 ejabberd。顺便说一句,我是 strophe.js 的新手。互联网上的所有示例都使用用户名和密码。我不想再次向用户询问密码,也不想在文件中硬编码。

提前致谢。

4

1 回答 1

0

您可以使用 OAuth 令牌从 strophe 连接 ejabberd 服务器。

  1. 从 api 生成的 OAuth 令牌必须具有范围sasl_auth
  2. 在创建 strophe 实例传递选项机制时[Strophe.SASLXOAuth2]
  3. 在使用您的 oauth 令牌连接替换密码时,例如。连接.连接(jid,ejabberd_oauth_token)
于 2019-12-11T10:24:53.147 回答