def login(self, request): """Exposes an API endpoint to query for an upload URL. Args: Returns: """ salt=config.get('salt') aes_key=config.get('aes_key') if not request.username: LoginResponse(message="Provide a username") username = request.username.lower() # try: if utils.is_email_valid(username): user = User.get_by_email(username) if user: auth_id = user.auth_ids[0] else: raise InvalidAuthIdError else: auth_id = "own:%s" % username user = User.get_by_auth_id(auth_id) password = request.password.strip() remember_me=False # Password to SHA512 password = utils.hashing(password, salt) # Try to login user with password # Raises InvalidAuthIdError if user is not found # Raises InvalidPasswordError if provided password # doesn't match with specified user user = User.get_by_auth_id(auth_id) if not user: raise endpoints.BadRequestException('Password/Username Do Not Match') if not security.check_password_hash(password, user.password): raise endpoints.BadRequestException('Password/Username Do Not Match') else: self.user_apikey = ApiKeys.get_apikey_by_user_id(user.key.id()).key.id() return LoginResponse(apikey=self.user_apikey)