Disable federated login for new users if user creation is disabled
Fixes https://www.pivotaltracker.com/story/show/144821585
This commit is contained in:
		
							parent
							
								
									118ed4a37e
								
							
						
					
					
						commit
						b3d7577473
					
				
					 3 changed files with 42 additions and 3 deletions
				
			
		|  | @ -10,6 +10,8 @@ logger = logging.getLogger(__name__) | |||
| 
 | ||||
| UserInformation = namedtuple('UserInformation', ['username', 'email', 'id']) | ||||
| 
 | ||||
| DISABLED_MESSAGE = 'User creation is disabled. Please contact your adminstrator to gain access.' | ||||
| 
 | ||||
| class FederatedUsers(object): | ||||
|   """ Base class for all federated users systems. """ | ||||
| 
 | ||||
|  | @ -96,7 +98,10 @@ class FederatedUsers(object): | |||
|   def _get_and_link_federated_user_info(self, username, email): | ||||
|     db_user = model.user.verify_federated_login(self._federated_service, username) | ||||
|     if not db_user: | ||||
|       # We must create the user in our db | ||||
|       # We must create the user in our db. Check to see if this is allowed. | ||||
|       if not features.USER_CREATION: | ||||
|         return (None, DISABLED_MESSAGE) | ||||
| 
 | ||||
|       valid_username = None | ||||
|       for valid_username in generate_valid_usernames(username): | ||||
|         if model.user.is_username_unique(valid_username): | ||||
|  |  | |||
		Reference in a new issue