utils: do not record login if simulated (#50975)
This commit is contained in:
parent
46c977d498
commit
d412424788
|
@ -427,7 +427,7 @@ def last_authentication_event(request=None, session=None):
|
|||
return None
|
||||
|
||||
|
||||
def login(request, user, how, service=None, service_slug=None, nonce=None, **kwargs):
|
||||
def login(request, user, how, service=None, service_slug=None, nonce=None, record=True, **kwargs):
|
||||
'''Login a user model, record the authentication event and redirect to next
|
||||
URL or settings.LOGIN_REDIRECT_URL.'''
|
||||
from .. import hooks
|
||||
|
@ -449,7 +449,8 @@ def login(request, user, how, service=None, service_slug=None, nonce=None, **kwa
|
|||
# prevent logint-hint to influence next use of the login page
|
||||
if 'login-hint' in request.session:
|
||||
del request.session['login-hint']
|
||||
request.journal.record('user.login', how=how)
|
||||
if record:
|
||||
request.journal.record('user.login', how=how)
|
||||
return continue_to_next_url(request, **kwargs)
|
||||
|
||||
|
||||
|
@ -1064,7 +1065,7 @@ def simulate_authentication(request, user, method,
|
|||
# do not modify the passed user
|
||||
user = copy.deepcopy(user)
|
||||
user.backend = backend
|
||||
return login(request, user, method, service=service, **kwargs)
|
||||
return login(request, user, method, service=service, record=False, **kwargs)
|
||||
|
||||
|
||||
def get_manager_login_url():
|
||||
|
|
|
@ -23,6 +23,7 @@ from django.utils.http import urlquote
|
|||
from django.utils.six.moves.urllib.parse import urlparse
|
||||
|
||||
from authentic2 import utils, models
|
||||
from authentic2.apps.journal.models import Event
|
||||
from authentic2.validators import EmailValidator
|
||||
|
||||
from .utils import get_link_from_mail, assert_event
|
||||
|
@ -89,6 +90,7 @@ def test_registration_success(app, db, settings, mailoutbox, external_redirect):
|
|||
|
||||
new_user = User.objects.get()
|
||||
assert_event('user.registration', user=new_user, how='email')
|
||||
assert not Event.objects.filter(type__name='user.login').exists()
|
||||
assert new_user.email == 'testbot@entrouvert.com'
|
||||
assert new_user.username is None
|
||||
assert new_user.check_password('T0==toto')
|
||||
|
|
Loading…
Reference in New Issue