Create ejabberd user from PHP

后端 未结 7 1675
说谎
说谎 2020-12-08 17:37

I need to create an ejabberd user from a PHP script. I also need to be able to add the new user to a predefined shared roster.

Should I just call ejabberdctl<

7条回答
  •  渐次进展
    2020-12-08 18:18

    I've solved the problem with mod_register_web [1, 2]. It doesn't require tonnes of code and, I think, is secure enough. mod_register_web provides html page with simple POST form to register new user.

    Enable module under separate http listener (in my case, port 5281). Make this port available only for local requests with "ip" parameter.

    listen:
      port: 5280
      module: ejabberd_http
      web_admin: true
      http_bind: true
      ## register: true
    
    ip: "127.0.0.1"   # Only local requests allowed for user registration
      port: 5281
      module: ejabberd_http
      register: true
    
    modules:
      mod_register_web: {}
    

    Request example:

    curl -XPOST 127.0.0.1:5281/register/new -d 'username=lucky&host=vHost&password=test&password2=test'
    

    Request can be executed from php code with appropriate library (which was already in my framework).

提交回复
热议问题