public RefreshTokenModel UpdateToken(string refreshToekn, string userAgent)
        {
            var tokenModel = GetRefreshToken(refreshToekn, userAgent);

            if (tokenModel == null)
            {
                return(null);
            }

            tokenModel.RefreshToken     = Guid.NewGuid().ToString();
            tokenModel.ModificationDate = DateTime.Now;
            tokensRepository.Update(tokenModel);
            UnitOfWork.Commit();
            return(tokenModel);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Обновить жетон обновления жетона доступа
        /// </summary>
        /// <param name="refreshToekn">Жетон обновления</param>
        /// <param name="userAgent">Тип агента пользователя</param>
        /// <returns>Обновлённые данные о жетоне обновления</returns>
        public RefreshTokenModel UpdateToken(string refreshToken, string userAgent)
        {
            // Получаем данные о жетоне обновления по жетону обновления и типу агента пользователя
            var tokenModel = GetRefreshToken(refreshToken, userAgent);

            if (tokenModel == null) // Tсли жетон отсутствует
            {
                return(null);       // Возвращаем null
            }

            // Генерируем новый жетон обновления
            tokenModel.RefreshToken = Guid.NewGuid().ToString();
            // Изменяем дату и время изменения жетона
            tokenModel.ModificationDate = DateTime.Now;
            // Обнвляем данные о жетоне обновления в хранилище
            tokensRepository.Update(tokenModel);
            // Подтверждаем Единицу работы
            UnitOfWork.Commit();
            // Возвращаем новые данные о жетоне обновления
            return(tokenModel);
        }