Skip to content

Commit d36a9bc

Browse files
committed
#131: Do not raise 400 when resetting password for non-existing account
- Do not raises validation error if email doesn't exist - Update unit test
1 parent 4a56a9e commit d36a9bc

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

rest_auth/serializers.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,6 @@ def validate_email(self, value):
115115
if not self.reset_form.is_valid():
116116
raise serializers.ValidationError(_('Error'))
117117

118-
if not UserModel.objects.filter(email__iexact=value).exists():
119-
raise serializers.ValidationError(_('Invalid e-mail address'))
120-
121118
return value
122119

123120
def save(self):

rest_auth/tests/test_api.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,12 +234,15 @@ def test_password_reset_with_email_in_different_case(self):
234234
self.assertEqual(len(mail.outbox), mail_count + 1)
235235

236236
def test_password_reset_with_invalid_email(self):
237+
"""
238+
Invalid email should not raise error, as this would leak users
239+
"""
237240
get_user_model().objects.create_user(self.USERNAME, self.EMAIL, self.PASS)
238241

239242
# call password reset
240243
mail_count = len(mail.outbox)
241244
payload = {'email': '[email protected]'}
242-
self.post(self.password_reset_url, data=payload, status_code=400)
245+
self.post(self.password_reset_url, data=payload, status_code=200)
243246
self.assertEqual(len(mail.outbox), mail_count)
244247

245248
def test_user_details(self):

0 commit comments

Comments
 (0)