A newer version of this documentation is available.

View Latest



      Requiring Sync Gateway role

      Related Topics:    access()   |   channel()   |   expiry()   |   requireAccess()   |   requireAdmin()   |   requireRole()   |   requireUser()   |   role()   |   throw()




      Use the requireRole() function to reject document updates that are not made by user with the specified role or roles, as shown in Example 1.


      Argument Description


      Must be a string identifying a role, or an array of strings identifying multiple roles; the function is applied to each role in the array.

      If the value resolves to null the function result is a no-op.

      Note — Role names must always be prefixed with role:; an exception is thrown if a role name doesn’t conform with this rule..


      The function requires that the user has at least one of the specified roles. If that is not the case it signals rejection by throwing an exception. The rest of the sync function will not be run.


      Example 1. requireRole(rolename)
      requireRole("admin"); (1)
      requireRole(["admin", "old-timer"]); (2)
      1 Throw an error unless the user has the "admin" role:
      2 Throw an error unless the user has one or more of those roles: