【问题标题】:Ejabberd: Using internal authentication for admin onlyEjabberd:仅对管理员使用内部身份验证
【发布时间】:2020-09-30 08:22:50
【问题描述】:

背景

我正在使用 Ejabberd 服务器和 smack 库在 android 中开发一个聊天应用程序。我正在使用 firebase 电话身份验证作为外部身份验证程序。到目前为止,我已成功通过手机成功注册/登录普通用户。

问题

现在我无法访问我的管理面板 Web 界面,因为它提供了一种简单的预定义用户名和密码机制以管理员身份登录,而 Firebase 电话身份验证使用一次性密码机制。

到目前为止我所尝试的

  1. 尝试以管理员身份在 Firebase 身份验证表中添加列入白名单的联系人。没有成功。
  2. 添加了另一个具有内部身份验证机制的主机。从该主机添加了一个管理员帐户。能够登录。但无法访问我原来的管理面板,因为它们变成了两个不同的虚拟主机。
  3. 尝试使用以下命令添加用户

    ejabberdctl 注册用户名域密码

没用。给出“错误:cannot_register”响应。

我在寻找什么

一种登录我的服务器管理面板的方法。如果不可能,有没有办法在测试阶段登录管理面板时禁用用户名/密码提示,并在生产阶段重新启用提示?

【问题讨论】:

  • 情况 2。«从该主机添加了一个管理员帐户。能够登录。但无法访问我原来的管理面板»如果您在 ejabberd.yml 中正确配置了管理员帐户,那应该可以工作。您应该编辑您的帖子并提供您添加的配置以授予该帐户的管理员权限。
  • @Badlop 谢谢。我不知道我必须在 ejabberd.yml 文件的 acl->admin->users 字段中显式添加一个条目。我做到了。现在效果很好。为了帮助其他人,如果您在答案中写下此内容,我会将其标记为已接受,还是我应该自己回答?

标签: android firebase-authentication xmpp ejabberd smack


【解决方案1】:
  1. 从该主机添加了一个管理员帐户。能够登录。但无法访问我原来的管理面板

如果您在 ejabberd.yml 中正确授予该帐户的管理员权限,那应该可以工作。

您应该编辑您的帖子并提供您添加的配置以授予该帐户管理员权限,我们会看看问题出在哪里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 2011-11-30
    相关资源
    最近更新 更多