Example #1
0
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"'})