def wrapper(*args, **kwargs): if not current_user.is_authenticated: api_errors = ApiErrors() api_errors.status_code = 403 api_errors.add_error('global', "API key or login required") raise api_errors return f(*args, **kwargs)
def user_from_authbasic(identifier, password=None): errors = ApiErrors() errors.status_code = 401 if identifier is None: errors.add_error('identifier', 'Identifier is missing.') if password is None: errors.add_error('password', 'Password is missing.') errors.maybe_raise() user = active_user_from_identifier(identifier) if not user: errors.add_error('identifier', 'Wrong identifier') raise errors if len(user.password) == 32: # MD5 pass from Denis' platform if not is_hashlib_equal(password, user.password): errors.add_error('password', 'Wrong password') raise errors change_password(user, password, check=False) elif not user.check_password(password): errors.add_error('password', 'Wrong password') raise errors return user
def get_user_with_credentials(identifier, password): errors = ApiErrors() errors.status_code = 401 if identifier is None: errors.add_error('identifier', 'Identifier is missing.') if password is None: errors.add_error('password', 'Password is missing.') errors.maybe_raise() user = User.query.filter_by(email=identifier).first() if not user: errors.add_error('identifier', 'Wrong identifier') raise errors if not user.check_password(password): errors.add_error('password', 'Wrong password') raise errors return user
def get_user_with_credentials(identifier, password): errors = ApiErrors() errors.status_code = 401 if identifier is None: errors.add_error('identifier', 'Identifier is missing.') if password is None: errors.add_error('password', 'Password is missing.') errors.maybe_raise() User = get_model_with_table_name('user') user = User.query.filter_by(email=identifier).first() if not user: errors.add_error('identifier', 'Wrong identifier') raise errors if not user.isValidated: errors.add_error('identifier', "This account is not validated") raise errors if not user.check_password(password): errors.add_error('password', 'Wrong password') raise errors return user