Ejemplo n.º 1
0
 def Login(self, request, context):
   """Login user and return a JWT token if succeed"""
   log = get_logger()
   result = TokenReply()
   try:
     email = request.email.lower()
     password = request.password
     log = log.bind(email=email, method="login")
     token = User.login(email, password)
     if token:
       result = TokenReply(token=token)
   except NoResultFound as err:
     context.set_code(grpc.StatusCode.NOT_FOUND)
     context.set_details('Invalid username')
   except ValueError as err:
     context.set_code(grpc.StatusCode.PERMISSION_DENIED)
     context.set_details(str(err))
   except Exception as err:
     context.set_code(grpc.StatusCode.INTERNAL)
     context.set_details(str(err))
   finally:
     handle_resp('login', context, log)
     return result