Ejabberd oauth没有生成令牌

时间:2018-04-06 11:49:37

标签: ejabberd ejabberd-auth

有些人可以解释一下如何配置ejabberd rest api支持,我找不到任何足够的资源。

我使用的是linux(ubuntu 16.04),所以到目前为止我已经完成了apt-get -y install ejabberd并请告诉我是否需要更改配置文件/ etc / ejabberd / ejabberd .yml文件。



<pre>


listen:
  ## To handle ejabberd commands using XML-RPC
  -
    port: 4560
    module: ejabberd_xmlrpc
    access_commands: {}
  -
    port: 5280
 ##   ip: "::"
    ip: "0.0.0.0"
    module: ejabberd_http
    request_handlers:
      "/websocket": ejabberd_http_ws
      # OAuth support:
      "/oauth": ejabberd_oauth
      # ReST API:
      "/api": mod_http_api
    ##  "/pub/archive": mod_http_fileserver
    web_admin: true
    http_bind: true
    register: true
    captcha: true
    tls: false
    certfile: "/etc/ejabberd/ejabberd.pem"

# Allow OAuth authentication and token generation
commands_admin_access: configure
commands:
  - add_commands: [user, admin, open]
# Tokens are valid for a year as default:
oauth_expire: 31536000
oauth_access: all
api_permissions:
  - "admin access":
    - who:
      - admin
    - what:
      - "*"
      - "!stop"

    
    
    
</pre>    
&#13;
&#13;
&#13;

好吧,我试过在doc中给出,但是当我输入用户,服务器和密码时 http://ipaddress:5280/oauth/authorization_token?response_type=token&client_id=localhost&redirect_uri=http://www.razrcorp.com/&scope=get_roster+sasl_auth

我可以看到授权请求应用程序localhost想要访问范围get_roster sasl_auth

但是当我从用户填写时 - 测试@ localhost服务器 - ipaddress密码 - 测试

通过回复重定向到http://ipaddress:5280/oauth/authorization_token 此页面无效 ipaddress没有发送任何数据。 ERR_EMPTY_RESPONSE

如果检查日志

2018-04-06 11:33:49.136 [错误]&lt; 0.671.0&gt;崩溃报告过程&lt; 0.671.0&gt;与0个邻居崩溃的原因:调用未定义的函数oauth2:authorize_password({&lt;&lt;&#34; test @ localh ost&#34;&gt;&gt;,&lt;&lt;&#34; 35.18.18.32&#34;&gt;&gt;},&lt;&lt;&#34; localhost&#34;&gt;&gt;,&lt;&lt; ;&#34; http://www.razrcorp.com/&#34;&gt;&gt;,[&lt;&lt;&#34; get_roster&#34;&gt;&gt;,&lt;&lt;&#34; sasl_auth&#34;&gt; ;&gt;],{密码,&lt;&lt;&#34;测试&#34;&gt;&gt;})

1 个答案:

答案 0 :(得分:0)

您缺少安装中的oauth2模块。您使用的软件包似乎可能不正确。也许您应该尝试使用ProcessOne软件包:https://www.process-one.net/en/ejabberd/downloads/

它们应该是完整的并包含所有必需的依赖项。