def login(): result = Result() if not request.is_json: result.AddError("Missing JSON in request") username = request.json.get('Email', None) password = request.json.get('Password', None) if not username: result.AddError("Missing username parameter") if not password: result.AddError("Missing password parameter") loggingUser = User.objects(Email=username).first() if loggingUser is None: result.AddError("Invalid login or password") return result.ToResponse() userHash = loggingUser.Password userRole = loggingUser.AccountType userId = loggingUser.Id forToken = TokenInfo(username, userRole, userId) if checkPassword(password, userHash): access_token = create_access_token(identity=forToken) refresh_token = create_refresh_token(identity=forToken) result.Value = json.dumps({ 'access_token': access_token, 'refresh_token': refresh_token }) else: result.AddError("Invalid login or password") return result.ToResponse()
def getUser(self, **kwargs): if not User.objects(**kwargs): return False user = User.objects.get( **kwargs) #use objects.get to retreive one result return user
def refresh(): result = Result() username = get_jwt_identity() loggingUser = User.objects(Email=username).first() loggingUser = User.objects(Email=username).first() userRole = loggingUser.AccountType userId = loggingUser.Id forToken = TokenInfo(username, userRole, userId) if loggingUser is None: result.AddError("User not found/Invalid Token") return result.ToResponse() ret = { 'access_token': create_access_token(identity=forToken), 'refresh_token': create_refresh_token(identity=forToken) } result.Value = json.dumps(ret) return result.ToResponse()
def emailIsAlreadyInUse(self, email): return User.objects(email=email)