mod_register 403 Forbidden

I am having some trouble getting In Band Registration working. I have an ejabberd server running locally (15.06) but every time I try to register a new user using in band registration I get a 403 forbidden response that looks like this:

<iq xmlns="jabber:client" from="seans-macbook-pro.local" type="error"><query xmlns="jabber:iq:register"><username>1234567890</username><firstname>Test</firstname><lastname>Tester</lastname><password>7890</password><company>Test Inc.</company><email>test@tester.com</email><overview>i am a tester</overview><deviceToken>devicetoken123</deviceToken></query><error code="403" type="auth"><forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></forbidden></error></iq>

I have tried fiddling with the ejabberd.yml config file but nothing I do seems to make a difference. Any ideas? Here is my config file (I removed the sections that are irrelevant):

###.   ====================
###'   ACCESS CONTROL LISTS
acl:
  admin:
    user:
      - "admin": "seans-macbook-pro.local"

  local:
    user_regexp: ""

  ##
  ## Loopback network
  ##
  loopback:
    ip:
      - "127.0.0.0/8"

###   ============
###   ACCESS RULES
access:
  ## Maximum number of simultaneous sessions allowed for a single user:
  max_user_sessions:
    all: 10
  ## Maximum number of offline messages that users can have:
  max_user_offline_messages:
    admin: 5000
    all: 100
  ## This rule allows access only for local users:
  local:
    local: allow
  ## Only non-blocked users can use c2s connections:
  c2s:
    blocked: deny
    all: allow
  ## For C2S connections, all users except admins use the "normal" shaper
  c2s_shaper:
    admin: none
    all: normal
  ## All S2S connections use the "fast" shaper
  s2s_shaper:
    all: fast
  ## Only admins can send announcement messages:
  announce:
    admin: allow
  ## Only admins can use the configuration interface:
  configure:
    admin: allow
  ## Admins of this server are also admins of the MUC service:
  muc_admin:
    admin: allow
  ## Only accounts of the local ejabberd server can create rooms:
  muc_create:
    local: allow
  ## All users are allowed to use the MUC service:
  muc:
    all: allow
  ## Only accounts on the local ejabberd server can create Pubsub nodes:
  pubsub_createnode:
    local: allow
  register:
    all: allow
  trusted_network:
    loopback: allow

registration_timeout: infinity

###   ================
###   DEFAULT LANGUAGE

##
## language: Default language used for server messages.
##
language: "en"

###   =======
###   MODULES

##
## Modules enabled in all ejabberd virtual hosts.
##
modules:
  mod_adhoc: []
  mod_announce: # recommends mod_adhoc
    access: announce
  mod_caps: []
  mod_carboncopy: []
  mod_configure: [] # requires mod_adhoc
  mod_disco: []
  mod_http_bind: []
  mod_last: []
  mod_muc:
    access: muc
    access_create: muc_create
    access_persistent: muc_create
    access_admin: muc_admin
  mod_offline:
    access_max_user_messages: max_user_offline_messages
  mod_privacy: []
  mod_private: []
  mod_pubsub:
    access_createnode: pubsub_createnode
    ignore_pep_from_offline: true
    last_item_cache: false
    plugins:
      - "flat"
      - "hometree"
      - "pep" # pep requires mod_caps
  mod_register:
    welcome_message:
      subject: "Welcome!"
      body: |-
        Hi.
        Welcome to this XMPP server.

    ip_access: allow

    access_from: all
    access: register
  mod_roster: []
  mod_shared_roster: []
  ## mod_time: []
  mod_vcard: []
  mod_version: []

allow_contrib_modules: true

You may be looking for the

You may be looking for the registration_timeout option, as described in ejabberd documentation for mod_register:

registration_timeout: Timeout. This option limits the frequency of registration from a given IP or username. So, a user that tries to register a new account from the same IP address or JID during this number of seconds after his previous registration will receive an error resource-constraint with the explanation: “Users are not allowed to register accounts so quickly”. The timeout is expressed in seconds, and it must be an integer. To disable this limitation, instead of an integer put a word like: infinity. Default value: 600 seconds.

You may be looking for the

You may be looking for the registration_timeout option, as described in ejabberd documentation for mod_register:

registration_timeout: Timeout. This option limits the frequency of registration from a given IP or username. So, a user that tries to register a new account from the same IP address or JID during this number of seconds after his previous registration will receive an error resource-constraint with the explanation: “Users are not allowed to register accounts so quickly”. The timeout is expressed in seconds, and it must be an integer. To disable this limitation, instead of an integer put a word like: infinity. Default value: 600 seconds.

Syndicate content