Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b14300d

Browse files
Add more verbose logging to MailAuthBackend to debug login issues
1 parent e9ec853 commit b14300d

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

‎mailauth/backends.py‎

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1+
import logging
2+
13
from django.conf import settings
2-
from django.contrib.auth import get_user_model
34
from django.contrib.auth.backends import ModelBackend
4-
from django.core.signing import BadSignature
5+
from django.core.signing import BadSignature, SignatureExpired
56
from django.urls import reverse
67

78
from . import signing
9+
from .signing import UserDoesNotExist
10+
11+
logger = logging.getLogger(__name__)
812

913

1014
class MailAuthBackend(ModelBackend):
@@ -16,8 +20,15 @@ def authenticate(self, request, token=None):
1620

1721
try:
1822
user = self.signer.unsign(token, max_age=max_age, single_use=single_use)
19-
except (get_user_model().DoesNotExist, BadSignature):
20-
return
23+
except UserDoesNotExist:
24+
logger.warning(
25+
"Valid token for non-existing user. Maybe the user has been deleted.",
26+
exc_info=True,
27+
)
28+
except SignatureExpired:
29+
logger.warning("Token has expired.", exc_info=True)
30+
except BadSignature:
31+
logger.exception("Malicious or corrupted login token received.")
2132
else:
2233
if self.user_can_authenticate(user):
2334
return user

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /