File tree 3 files changed +9
-1
lines changed
3 files changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -290,6 +290,7 @@ def get_or_create_user(
290
290
# Create new one if desired by settings
291
291
if create_unknown_user :
292
292
user = UserModel (** {user_lookup_key : user_lookup_value })
293
+ user .set_unusable_password ()
293
294
created = True
294
295
logger .debug (f"New user created: { user } " , exc_info = True )
295
296
else :
Original file line number Diff line number Diff line change @@ -462,6 +462,9 @@ def test_assertion_consumer_service(self):
462
462
user_id = self .client .session [SESSION_KEY ]
463
463
user = User .objects .get (id = user_id )
464
464
self .assertEqual (user .username , "student" )
465
+ # Since a new user object is created, the password
466
+ # field is set to have an unusable password.
467
+ self .assertEqual (user .has_usable_password (), False )
465
468
466
469
# let's create another user and log in with that one
467
470
new_user = User .objects .create (username = "teacher" , password = "not-used" )
@@ -486,6 +489,10 @@ def test_assertion_consumer_service(self):
486
489
# as the RelayState is empty we have redirect to ACS_DEFAULT_REDIRECT_URL
487
490
self .assertRedirects (response , "/dashboard/" )
488
491
self .assertEqual (str (new_user .id ), client .session [SESSION_KEY ])
492
+ new_user .refresh_from_db ()
493
+ # Since "new_user" already had a password,
494
+ # the password field will remain unchanged.
495
+ self .assertEqual (new_user .has_usable_password (), True )
489
496
490
497
@override_settings (ACS_DEFAULT_REDIRECT_URL = "testprofiles:dashboard" )
491
498
def test_assertion_consumer_service_default_relay_state (self ):
Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ def read(*rnames):
27
27
28
28
setup (
29
29
name = "djangosaml2" ,
30
- version = "1.9.1 " ,
30
+ version = "1.9.2 " ,
31
31
description = "pysaml2 integration for Django" ,
32
32
long_description = read ("README.md" ),
33
33
long_description_content_type = "text/markdown" ,
You can’t perform that action at this time.
0 commit comments