我目前正在使用ejabberd_http_auth mod通过外部http api对用户进行身份验证。但是在我在ejabberd.yml中设置了以下配置之后。我收到了未知选项'auth_opts'错误。 我已经使用命令提示符在ejabberd中安装了该插件,并且我已禁用register mod。
配置:
auth_method: http
auth_opts:
host: "http://localhost:8080"
connection_pool_size: 10
connection_opts: []
basic_auth: ""
path_prefix: "/test/auth/"
错误讯息:
2015-12-15 00:16:16.268 [error] <0.37.0>@ejabberd_config:validate_opts:794 unknown option 'auth_opts' will be likely ignored
2015-12-15 00:16:16.366 [info] <0.37.0>@cyrsasl_digest:start:60 FQDN used to check DIGEST-MD5 SASL authentication: MY_SERVER
2015-12-15 00:16:16.367 [info] <0.37.0>@ejabberd_app:add_windows_nameservers:195 Adding machine's DNS IPs to Erlang system:
[]
2015-12-15 00:16:16.373 [error] <0.36.0> CRASH REPORT Process <0.36.0> with 0 neighbours exited with reason: call to undefined function ejabberd_auth_http:start(<<"localhost">>) in application_master:init/4 line 133
2015-12-15 00:16:16.373 [info] <0.7.0> Application ejabberd exited with reason: call to undefined function ejabberd_auth_http:start(<<"localhost">>)
非常感谢。
答案 0 :(得分:2)
未知选项不是问题所在。
问题出在那一行:
2015-12-15 00:16:16.373 [info] <0.7.0> Application ejabberd exited with reason: call to undefined function ejabberd_auth_http:start(<<"localhost">>)
这意味着ejabberd_auth_http.beam
不在您的Erlang路径中。这意味着它未安装或放置在Erlang VM路径之外。