private function assertValidAuthType()
    {
        if (
            !array_key_exists($this->authType, $this->authenticators)
            || !class_exists($this->authenticators[$this->authType])
            || !is_subclass_of($this->authenticators[$this->authType], AbstractAuthenticator::class)
        ) {
            throw new UnregisteredAuthenticatorException(
                $this->authType . ' is not a registered authentication type'
            );
        }
    }