def authenticate(self, environ, identity): if not ('login' in identity and 'password' in identity): return None login = identity['login'] user = User.by_name(login) ## HDX HACK ## if user is None: users = User.by_email(login) try: user = users[0] except: user = None ## END HDX HACK ## if user is None: log.debug('Login failed - username %r not found', login) elif not user.is_active(): log.debug('Login as %r failed - user isn\'t active', login) elif not user.validate_password(identity['password']): log.debug('Login as %r failed - password not valid', login) else: return user.name return None
def email_exists(key, data, errors, context): result = User.by_email(data[key]) if result: errors[('email', )] = errors.get(key, []) errors[('email', )] = [ _('An account is already registered to that email.') ]
def authenticate(self, environ, identity): if not ('login' in identity and 'password' in identity): return None login = identity['login'] user = User.by_name(login) is_email = plugins.toolkit.config.get('ckan.authenticator.email', '').strip().lower() == 'true' if user is None and is_email: users = User.by_email(login) try: user = users[0] except: user = None if user is None: log.debug('Login failed - {} not found'.format(login)) elif not user.is_active(): log.debug('Login as {} failed - user isn\'t active'.format(login)) elif not user.validate_password(identity['password']): log.debug('Login as {} failed - password not valid'.format(login)) else: return user.name return None
def get_user_list_by_email(value): """ Get user id/name given email. Validate email beforehand. """ users = [] try: potential_users = User.by_email(value) return potential_users except Exception as e: log.error(e) return users
def default_authenticate(identity: 'Mapping[str, Any]') -> Optional["User"]: if not ('login' in identity and 'password' in identity): return None login = identity['login'] user_obj = User.by_name(login) if not user_obj: user_obj = User.by_email(login) if user_obj is None: log.debug('Login failed - username or email %r not found', login) elif not user_obj.is_active: log.debug('Login as %r failed - user isn\'t active', login) elif not user_obj.validate_password(identity['password']): log.debug('Login as %r failed - password not valid', login) else: return user_obj signals.failed_login.send(login) return None
def user_auth(context, data_dict): '''Authenticates a user You must be a system administrator to authenticate users. :param email: the email address of the user :type email: string :param password: the password of the user :type password: string :returns: the newly created user :rtype: dictionary ''' model = context['model'] session = context['session'] _check_access('user_auth', context, data_dict) email = data_dict.get('email') password = data_dict.get('password') if not (email and password): raise ValidationError(['email and password are both required']) users = User.by_email(email) user = users[0] if users else None if (user is None) or \ (not user.is_active()) or \ (not user.validate_password(password)): raise ValidationError(['There was a problem authenticating this user']) user_dict = model_dictize.user_dictize(user, context) ## Get the user's organisation list to return with the login details fOrgList = get_action('organization_list_for_user') user_dict['organisations'] = fOrgList(context, {'id': user.name}) # DGU Hack: added encoding so we don't barf on unicode user names log.debug( 'Authenticated user {name}'.format(name=user.name.encode('utf8'))) return user_dict
def authenticate(self, environ, identity): if not ('login' in identity and 'password' in identity): return None login = identity['login'] user_list = User.by_email(login) if not user_list: log.debug('Login failed - email %r not found', login) return None user = user_list[0] if not user.is_active(): log.debug('Login as %r failed - user isn\'t active', login) elif not user.validate_password(identity['password']): log.debug('Login as %r failed - password not valid', login) else: return user.name return None
def authenticate( self, environ: Any, identity: 'Mapping[str, Any]') -> Optional[str]: if not ('login' in identity and 'password' in identity): return None login = identity['login'] user = User.by_name(login) if not user: user = User.by_email(login) if user is None: log.debug('Login failed - username or email %r not found', login) elif not user.is_active(): log.debug('Login as %r failed - user isn\'t active', login) elif not user.validate_password(identity['password']): log.debug('Login as %r failed - password not valid', login) else: signals.successful_login.send(user.name) return user.name signals.failed_login.send(login) return None
def authenticate(self, environ, identity): if not ('login' in identity and 'password' in identity): return None login = identity['login'] user = User.by_name(login) if user is None: user_accounts = User.by_email(login) user = user_accounts[0] if len(user_accounts) > 0 else None if user is None: log.debug( 'Login failed - username or email address %r is not associated with an account', login) elif not user.is_active(): log.debug('Login as %r failed - user isn\'t active', login) elif not user.validate_password(identity['password']): log.debug('Login as %r failed - password not valid', login) else: return user.name return None