private async Task <bool> IsMemberAsync(
            ulong userId,
            Func <CancellationToken, Task <IEnumerable <ulong> > > getGuildIdsDelegate,
            CancellationToken cancellationToken)
        {
            AuthenticationLogMessages.GuildIdsFetching(_logger, userId);
            var guildIds = await getGuildIdsDelegate.Invoke(cancellationToken);

            AuthenticationLogMessages.GuildIdsFetched(_logger, userId);

            return(guildIds
                   .Intersect(_authorizationConfiguration.MemberGuildIds)
                   .Any());
        }