Beispiel #1
0
        public void GenerateBackups()
        {
            StringBuilder res = new StringBuilder();

            for (int i = 0; i < 5; i++)
            {
                res.Append(ForumUtilities.GetRandomHex(8)).Append("|");
            }
            Update(Builders <BsonDocument> .Update.Set(TFA_BACKUPS, res.ToString()));
        }
        public BsonDocument GenerateNewUser(string uname, string pw, string email)
        {
            uname = uname.ToLowerInvariant();
            BsonDocument bd = CreateEmptyUserDocument();

            bd[Account.USERNAME]        = uname;
            bd[Account.PASSWORD]        = ForumUtilities.Hash(pw, uname);
            bd[Account.EMAIL]           = email;
            bd[Account.UID]             = getIDFor(TF_USERS);
            bd[Account.ACTIVATION_CODE] = ForumUtilities.GetRandomHex(32);
            return(bd);
        }
Beispiel #3
0
        public string GenerateSession()
        {
            string sess = ForumUtilities.GetRandomHex(32);
            FilterDefinition <BsonDocument> fd = Builders <BsonDocument> .Filter.Eq(UID, UserID);

            UpdateDefinition <BsonDocument> ud = Builders <BsonDocument> .Update.AddToSet(WEBSESS_CODES, sess);

            FindOneAndUpdateOptions <BsonDocument> foauo = new FindOneAndUpdateOptions <BsonDocument>();

            foauo.IsUpsert = true;
            UserBase.FindOneAndUpdate(fd, ud, foauo);
            return(sess);
        }
Beispiel #4
0
        public string GenerateOneUseSess(string typ)
        {
            if (!IsValidSessType(typ))
            {
                return(null);
            }
            string sess = ForumUtilities.GetRandomHex(32);
            FilterDefinition <BsonDocument> fd = Builders <BsonDocument> .Filter.Eq(UID, UserID);

            UpdateDefinition <BsonDocument> ud = Builders <BsonDocument> .Update.Set(PREFIX_ONE_USE_SESS + typ, sess + "/" + DateTimeOffset.UtcNow.ToUnixTimeSeconds());

            FindOneAndUpdateOptions <BsonDocument> foauo = new FindOneAndUpdateOptions <BsonDocument>();

            foauo.IsUpsert = true;
            UserBase.FindOneAndUpdate(fd, ud, foauo);
            return(sess);
        }
Beispiel #5
0
        public string GenerateSessMaster(string typ)
        {
            if (!IsValidSessType(typ))
            {
                return(null);
            }
            string sess = ForumUtilities.GetRandomHex(32);
            FilterDefinition <BsonDocument> fd = Builders <BsonDocument> .Filter.Eq(UID, UserID);

            UpdateDefinition <BsonDocument> ud = Builders <BsonDocument> .Update.AddToSet(PREFIX_SESS_MASTER + typ, sess);

            FindOneAndUpdateOptions <BsonDocument> foauo = new FindOneAndUpdateOptions <BsonDocument>();

            foauo.IsUpsert = true;
            UserBase.FindOneAndUpdate(fd, ud, foauo);
            return(sess);
        }