public ServerToken AddToken(string token, ServerUser user, SocketRequest request)
        {
            ServerToken serverToken = new ServerToken(token, user, request.RemoteEndPoint.ToString());

            Tokens.Add(serverToken);
            return(serverToken);
        }
        public bool IsValid(string token, ref SocketRequest request)
        {
            ServerToken serverToken = Tokens.FirstOrDefault(t => t.UserToken.Equals(token));

            if (serverToken == null)
            {
                return(false);
            }

            if (!serverToken.IsReplicated)
            {
                if (serverToken.RemoteIP != request.RemoteEndPoint.Address.ToString())
                {
                    return(false);
                }
            }

            if (serverToken.HasExpired())
            {
                Tokens.Remove(serverToken);
                return(false);
            }

            return(true);
        }
        public ServerToken AddToken(ServerUser user,
                                    ref SocketRequest request)
        {
            ServerToken token = new ServerToken(user, ref request);

            Tokens.Add(token);
            return(token);
        }
        public void AddReplicatedToken(string token)
        {
            ServerToken serverToken = new ServerToken(token);

            Tokens.Add(serverToken);
        }