def use(*authenticator_classes):
    """ A decorator to attach one or more :class:`Authenticator`'s to the decorated class.

    Usage:
        from thorium import auth

        @auth.use(BasicAuth, CustomAuth)
        class MyEngine(Endpoint):
            ...

        OR

        @auth.use(BasicAuth)
        @auth.use(CustomAuth)
        class MyEngine(Endpoint):
            ...

    :param authenticator_classes: One or more :class:`Authenticator` class definitions.
    """
    def wrapped(cls):
        if not cls._authenticator_classes:
            cls._authenticator_classes = []
        cls._authenticator_classes.extend(authenticator_classes)
        return cls
    return wrapped