public static void Revoke(string username)
        {
            ProcHttpClient.DoAction(string.Format(
                                        "/McAuth/Revoke/{0}", username));

            cachedAuth.Remove(username);
        }
        public static void Renew(string username, string ip)
        {
            if (string.IsNullOrEmpty(username))
            {
                return;
            }

            DateTime cachedDate;
            var      isCached   = cachedAuth.TryGetValue(username, out cachedDate);
            var      isApproved = isCached || System.Web.Security.Membership.GetUser(username).IsApproved;
            var      isRecent   = isCached && DateTime.UtcNow.Subtract(cachedDate).TotalMinutes < 1;

            if (isApproved && !isRecent)
            {
                ProcHttpClient.DoAction(string.Format(
                                            "/McAuth/Renew/{0}?ip={1}", username, ip));

                cachedAuth[username] = DateTime.UtcNow;
            }
        }