def update_password(self, request): current_user = get_endpoints_current_user(raise_unauthorized=False) if current_user is not None: raise endpoints.BadRequestException("Google OAuth User can't update password.") user = auth_user(self.request_state.headers) user.password = md5(request.password) user.put() return message_types.VoidMessage()
def authenticate(self, request): email = request.user_email validate_email(email) password = request.password validate_password(password) user = User.find_user_by_email(email) if not user: raise endpoints.NotFoundException("Authentication failed. User account " + email + " doesn't exist.") if not User.authenticate(email, md5(password)): raise endpoints.UnauthorizedException("Authentication failed. User name and password are not matched.") return UserMessage(id=user.key.id(), display_name=user.display_name)
def register(self, request): email = request.user_email validate_email(email) password = request.password validate_password(password) user = User.find_user_by_email(email) if user is not None: raise endpoints.BadRequestException("Email(" + email + ") already exists.") display_name = request.display_name if display_name is None or display_name == '': raise endpoints.BadRequestException("Registration failed. Display name is missing.") user = User.find_user_by_display_name(display_name) if user is not None: raise endpoints.BadRequestException("Display name(" + display_name + ") already exists.") user = User.insert_normal_user(email, display_name, md5(password)) return UserMessage(id=user.key.id())