RestAuth uses backends to store data. RestAuth knows three different types of backends:
RestAuth can use different backends for each individual task, but property- and group-backends may depend on a specific user-backend being used. Most prominently, the default backends DjangoPropertyBackend and DjangoGroupBackend require that you also use DjangoUserBackend.
To configure what backend to use, use the USER_BACKEND, PROPERTY_BACKEND and GROUP_BACKEND settings. Backends shipping with RestAuth are listed below, if you want to develop your own backend(s), please see Custom backends.
Note that each backend may use settings not listed in the settings reference. For backend-specific settings, please consult the backends documentation.
A user backend handles the most basic operations related to users. The user backend is used to create and delete users as well as to check and update a users password.
Use the standard Django ORM to store user data.
This backend should be ready-to use as soon as you have configured your database.
All settings used by this backend are documented in the settings reference.
A property backend handles user properties such as email, full name and so on.
Use the standard Django ORM to store user properties.
This backend should be ready-to use as soon as you have configured your database. This backend requires that you also use the DjangoUserBackend.
All settings used by this backend are documented in the settings reference.
Store properties in a Redis key/value store.
This backend enables you to store user properties in a key/value store. Note that the backend is not really faster if you only have a few hundred users.
This backend uses a few additional settings in RestAuth/localsettings.py:
Note
Transaction support of this backend is limited. Basic transaction management works, but no sensible values are returned for method calls within a transaction.
A group backend handles user groups. Groups may be used by a service for authorization or similar purposes.
Use the standard Django ORM to store groups.
This backend should be ready-to use as soon as you have configured your database. This backend requires that you also use the DjangoUserBackend.
All settings used by this backend are documented in the settings reference.