async def login(credentials: HTTPBasicCredentials = Depends(security)): username = credentials.username password = credentials.password check_user = MongoDB.login(username, password) if check_user["authenticated"]: token = jwt.encode( { 'user': check_user, 'exp': datetime.datetime.utcnow() + datetime.timedelta(days=1) }, SECRET_KEY, algorithm='HS512') return jsonable_encoder({'token': token.decode('UTF-8')}) else: return Response(json.dumps({"message": 'login failed'}), 401, {'WWW-Authenticate': 'Basic realm="Login Required"'})