コード例 #1
0
        public DataContracts.TokenContract GenerateToken(string User)
        {
            Guid           UserId;
            MembershipUser memuser;

            memuser = Membership.GetUser(User);
            Guid.TryParse(memuser.ProviderUserKey.ToString(), out UserId);
            var Token = BuildSecureToken(TokenSize);

            using (DAL.AuthenticateDAL objMem = new DAL.AuthenticateDAL())
            {
                var nTokenRecord = new DataContracts.TokenContract()
                {
                    UserID     = UserId.ToString(),
                    UserName   = memuser.UserName,
                    Token      = Token,
                    ExpiryDate = DateTime.Now.Add(new TimeSpan(0, 0, DefaultSecondsUntilTokenExpires))
                };

                if (!objMem.SaveToken(nTokenRecord))
                {
                    throw new WebFaultException <string>("Token Generation Failed.", System.Net.HttpStatusCode.InternalServerError);
                }
                memuser = null;
                return(nTokenRecord);
            }
        }
コード例 #2
0
        public bool SaveToken(DataContracts.TokenContract nTokenRecord)
        {
            try
            {
                //using (ETNSupportEntities context = new ETNSupportEntities())
                //{
                //    //remove any existing token.
                //    var token = context.TokenMapSvcs.SingleOrDefault(t => t.UserId == UserId);
                //    if (token != null)
                //    {
                //        context.TokenMapSvcs.Remove(token);
                //        context.SaveChanges();
                //    }

                //    //Save New Token
                //    context.TokenMapSvcs.Add(new TokenMapSvc { UserId = UserId, Token = Token, CreateDate = DateTime.Now });
                //    context.SaveChanges();
                //    return true;
                //}

                //Save Data using MongoDB
                _database = MongoDBHandler.mDatabase();

                //Get Token Collection
                var collection = _database.GetCollection <DataContracts.TokenContract>("TokenMapSvc");

                //Delete any existing records
                collection.DeleteMany(p => p.UserID == nTokenRecord.UserID.ToString());

                //Insert a new records
                collection.InsertOne(nTokenRecord);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
コード例 #3
0
        public bool UpdateToken(DataContracts.TokenContract nTokenRecord)
        {
            try
            {
                //Save Data using MongoDB
                _database = MongoDBHandler.mDatabase();

                //Get Token Collection
                var collection = _database.GetCollection <DataContracts.TokenContract>("TokenMapSvc");

                var filter = Builders <DataContracts.TokenContract> .Filter.Where(_ => _.UserID == nTokenRecord.UserID);

                var update = Builders <DataContracts.TokenContract> .Update.Set(_ => _.ExpiryDate, nTokenRecord.ExpiryDate);

                var options = new FindOneAndUpdateOptions <DataContracts.TokenContract>();

                collection.FindOneAndUpdate(filter, update, options);
                return(true);
            }
            catch
            {
                return(false);
            }
        }