我在 Windows 10 (localhost) 上使用 ejabberd-18.01。我正在尝试通过 Postman 连接到 ejabberd使用网络方法:
发布:本地主机:5280/api/specific_api_method
根据官方 API 文档 ( https://docs.ejabberd.im/developer/ejabberd-api/admin-api/ ),我尝试使用 POST 方法添加名册项目,其正文如下:
发布:本地主机:5280/api/add_rosteritem
{
“本地用户”:“用户1”,
“本地服务器”:“我的域名”,
“用户”:“管理员”,
“服务器”:“我的域名”,
“尼克”:“u1”,
“组”:“ friend ”,
“潜艇”:“两者”
}
我收到错误:
{
“状态”:“错误”,
“代码”:32,
"message": "AccessRules: 帐户无权执行该操作。"
}
如果有人可以指导我如何验证自己的身份并使用 Web API 将新用户或名册项目添加到 ejabberd,我将不胜感激。谢谢。
最佳答案
在 yml 文件配置文件中进行这些更改
将 acl 中的环回更改为:
loopback:
ip:
- "127.0.0.0/8"
- "::1/128"
- "::FFFF:127.0.0.1/128"
并使用此 api_permissions:
api_permissions:
"console commands":
from:
- ejabberd_ctl
who: all
what: "*"
"admin access":
who:
- access:
- allow:
- ip: "127.0.0.1/8"
- acl: admin
- oauth:
- scope: "ejabberd:admin"
- access:
- allow:
- ip: "127.0.0.1/8"
- acl: admin
what:
- "*"
- "!stop"
- "!start"
"public commands":
who:
- acl: loopback
what:
- "status"
- "register"
- "connected_users_number"
此问题已关闭于:Access denied issue on ejabberd
关于rest - 使用 REST API 在 ejabberd 中注册新用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52679148/