public RefreshTokenModel AddToken(string userEmail, string ipAddress, string userAgent)
        {
            var now = DateTime.Now;
            RefreshTokenModel tokenModel = new RefreshTokenModel
            {
                UserEmail        = userEmail,
                RefreshToken     = Guid.NewGuid().ToString(),
                ModificationDate = now,
                CreationDate     = now,
                IpAddress        = ipAddress,
                UserAgent        = string.IsNullOrEmpty(userAgent) ? "Mobile" : "Web"
            };

            tokensRepository.Insert(tokenModel);
            UnitOfWork.Commit();

            return(tokenModel);
        }
Beispiel #2
0
        /// <summary>
        /// Luu thong tin login
        /// </summary>
        /// <returns>true: thanh cong, nguoc lai thats bai</returns>
        /// Create by: dvthang:12.1.2018
        public bool SaveInfoLogin(Token oToken)
        {
            string msgRespone = MT.Library.CommonFunction.SerializeObject(oToken);
            //MTLog.Trace("Start  SaveInfoLogin {0}", msgRespone);
            bool isSucces = false;

            MT.Model.Tokens tokens = new Tokens
            {
                TokenId   = Guid.NewGuid(),
                UserName  = oToken.UserName,
                Token     = msgRespone,
                IssuedOn  = DateTime.Now,
                ExpiresOn = DateTime.Now.AddDays(1),
            };
            isSucces = tokenRep.Insert(tokens) > 0;
            if (isSucces)
            {
                //MTLog.Trace.Trace("Finish  SaveInfoLogin {0}", tokens.TokenId);
                SetCookie(MT.Library.Commonkey.TokenLogin, tokens.TokenId.ToString());
            }
            return(isSucces);
        }
Beispiel #3
0
        /// <summary>
        /// Добавить жетон обновления.
        /// </summary>
        /// <param name="userEmail">Адрес электронной почты пользователя</param>
        /// <param name="ipAddress">IP адрес</param>
        /// <param name="userAgent">Агент пользователя</param>
        /// <returns>Данные созданного жетона доступа</returns>
        public RefreshTokenModel AddToken(string userEmail, string ipAddress, string userAgent)
        {
            var now = DateTime.Now; // Берём текущую дату и время
            // Создаём новый жетон обновления
            RefreshTokenModel tokenModel = new RefreshTokenModel
            {
                UserEmail        = userEmail,                 // Адрес электронной почты пользователя
                RefreshToken     = Guid.NewGuid().ToString(), // Сгенерированный жетон
                ModificationDate = now,                       // Текущеие дата и время
                CreationDate     = now,                       // Текущее дата и время
                IpAddress        = ipAddress,                 // IP адрес
                // Тип агента пользователя "Mobile" или "Web"
                UserAgent = string.IsNullOrEmpty(userAgent) ? "Mobile" : "Web"
            };

            // Добавдяем данные о токене в хранилище
            tokensRepository.Insert(tokenModel);
            // Подтверждаем Единицу работы
            UnitOfWork.Commit();

            // Возвращаем созданный жетон обновления
            return(tokenModel);
        }