From de0b2d5028e22caefcb20ab109603278131da630 Mon Sep 17 00:00:00 2001 From: Daniel Gilge <33256939+dgilge@users.noreply.github.com> Date: Sat, 10 Nov 2018 19:05:24 +0100 Subject: [PATCH] Make signup honor AUTH_PASSWORD_VALIDATORS --- rest_auth/registration/serializers.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rest_auth/registration/serializers.py b/rest_auth/registration/serializers.py index 4f99c18..9dc6f3a 100644 --- a/rest_auth/registration/serializers.py +++ b/rest_auth/registration/serializers.py @@ -1,3 +1,4 @@ +from django.core.exceptions import ValidationError as DjangoValidationError from django.http import HttpRequest from django.utils.translation import ugettext_lazy as _ from django.contrib.auth import get_user_model @@ -207,7 +208,12 @@ class RegisterSerializer(serializers.Serializer): adapter = get_adapter() user = adapter.new_user(request) self.cleaned_data = self.get_cleaned_data() - adapter.save_user(request, user, self) + user = adapter.save_user(request, user, self, commit=False) + try: + adapter.clean_password(self.cleaned_data['password1'], user=user) + except DjangoValidationError as e: + raise serializers.ValidationError(e.messages) + user.save() self.custom_signup(request, user) setup_user_email(request, user, []) return user