Return the AuthUser associated to the token, otherwise it will return None.
    If token is not provided, it will pull it from the headers: Authorization

    Exception:
    Along with AuthError, it may
    :param token:
    :return: AuthUser

def get_user_by_auth_token(token=None):
    """
    Return the AuthUser associated to the token, otherwise it will return None.
    If token is not provided, it will pull it from the headers: Authorization

    Exception:
    Along with AuthError, it may
    :param token:
    :return: AuthUser
    """
    if not token:
        token = request.get_auth_token()
    secret_key = get_jwt_secret()
    s = utils.unsign_jwt(token=token,
                         secret_key=secret_key,
                         salt=get_jwt_salt())
    if "id" not in s:
        raise exceptions.AuthError("Invalid Authorization Bearer Token")
    return get_user_by_id(int(s["id"]))