django-rest-auth/docs/configuration.rst

57 lines
3.4 KiB
ReStructuredText
Raw Normal View History

2014-10-09 15:01:47 +04:00
Configuration
=============
2014-10-09 16:53:39 +04:00
- **REST_AUTH_SERIALIZERS**
2014-10-09 15:01:47 +04:00
2014-10-09 16:53:39 +04:00
You can define your custom serializers for each endpoint without overriding urls and views by adding ``REST_AUTH_SERIALIZERS`` dictionary in your django settings.
Possible key values:
2014-10-09 15:01:47 +04:00
- LOGIN_SERIALIZER - serializer class in ``dj_rest_auth.views.LoginView``, default value ``dj_rest_auth.serializers.LoginSerializer``
2014-10-09 15:01:47 +04:00
- TOKEN_SERIALIZER - response for successful authentication in ``dj_rest_auth.views.LoginView``, default value ``dj_rest_auth.serializers.TokenSerializer``
2014-10-09 15:01:47 +04:00
- JWT_SERIALIZER - (Using REST_USE_JWT=True) response for successful authentication in ``dj_rest_auth.views.LoginView``, default value ``dj_rest_auth.serializers.JWTSerializer``
- USER_DETAILS_SERIALIZER - serializer class in ``dj_rest_auth.views.UserDetailsView``, default value ``dj_rest_auth.serializers.UserDetailsSerializer``
2014-10-09 15:01:47 +04:00
- PASSWORD_RESET_SERIALIZER - serializer class in ``dj_rest_auth.views.PasswordResetView``, default value ``dj_rest_auth.serializers.PasswordResetSerializer``
2014-10-09 15:01:47 +04:00
- PASSWORD_RESET_CONFIRM_SERIALIZER - serializer class in ``dj_rest_auth.views.PasswordResetConfirmView``, default value ``dj_rest_auth.serializers.PasswordResetConfirmSerializer``
2014-10-09 15:01:47 +04:00
- PASSWORD_CHANGE_SERIALIZER - serializer class in ``dj_rest_auth.views.PasswordChangeView``, default value ``dj_rest_auth.serializers.PasswordChangeSerializer``
2014-10-09 15:01:47 +04:00
2014-10-09 16:53:39 +04:00
Example configuration:
2014-10-09 15:01:47 +04:00
2014-10-09 16:53:39 +04:00
.. code-block:: python
2014-10-09 15:01:47 +04:00
2014-10-09 16:53:39 +04:00
REST_AUTH_SERIALIZERS = {
'LOGIN_SERIALIZER': 'path.to.custom.LoginSerializer',
'TOKEN_SERIALIZER': 'path.to.custom.TokenSerializer',
...
}
2016-02-25 23:37:08 +03:00
- **REST_AUTH_REGISTER_SERIALIZERS**
2015-11-24 13:11:46 +03:00
You can define your custom serializers for registration endpoint.
Possible key values:
- REGISTER_SERIALIZER - serializer class in ``dj_rest_auth.registration.views.RegisterView``, default value ``dj_rest_auth.registration.serializers.RegisterSerializer``
.. note:: The custom REGISTER_SERIALIZER must define a ``def save(self, request)`` method that returns a user model instance
2015-11-24 13:11:46 +03:00
- **REST_AUTH_TOKEN_MODEL** - path to model class for tokens, default value ``'rest_framework.authtoken.models.Token'``
2014-10-09 16:53:39 +04:00
- **REST_AUTH_TOKEN_CREATOR** - path to callable or callable for creating tokens, default value ``dj_rest_auth.utils.default_create_token``.
2014-11-12 14:18:12 +03:00
2016-01-01 00:10:52 +03:00
- **REST_SESSION_LOGIN** - Enable session login in Login API view (default: True)
2014-11-12 14:18:12 +03:00
2020-03-11 13:15:32 +03:00
- **REST_USE_JWT** - Enable JWT Authentication instead of Token/Session based. This is built on top of djangorestframework-simplejwt https://github.com/SimpleJWT/django-rest-framework-simplejwt, which must also be installed. (default: False)
2020-03-22 13:41:16 +03:00
- **JWT_AUTH_COOKIE** - The cookie name/key.
- **JWT_AUTH_SECURE** - If you want the cookie to be only sent to the server when a request is made with the https scheme (default: False).
- **JWT_AUTH_HTTPONLY** - If you want to prevent client-side JavaScript from having access to the cookie (default: True).
- **JWT_AUTH_SAMESITE** - To tell the browser not to send this cookie when performing a cross-origin request (default: 'Lax'). SameSite isnt supported by all browsers.
2014-11-12 14:18:12 +03:00
- **OLD_PASSWORD_FIELD_ENABLED** - set it to True if you want to have old password verification on password change enpoint (default: False)
- **LOGOUT_ON_PASSWORD_CHANGE** - set to False if you want to keep the current user logged in after a password change