예제 #1
0
        public async void CleanExpiredQRToken()
        {
            _logger.LogInformation($"{DateTime.Now}: Clean expired QR token started.");
            var expiredTokens = await _QRcontext.QRTokens.Where(it => it.Expires < DateTime.UtcNow)
                                .ToListAsync();

            _logger.LogInformation($"{DateTime.Now}: Find {expiredTokens.Count} token expired.");
            _QRcontext.RemoveRange(expiredTokens);
            _QRcontext.SaveChanges();
            _logger.LogInformation($"{DateTime.Now}: Clean expired QR token finished.");
        }
예제 #2
0
        public async Task <QRToken> PermitByToken(string token, int uid)
        {
            var item = await _context.QRTokens.FirstOrDefaultAsync(it => it.Token == token);

            if (item == null || item.Expires < DateTime.UtcNow)
            {
                return(null);
            }
            item.Status = 1;
            item.UserId = uid;
            _context.QRTokens.Update(item);
            _context.SaveChanges();
            return(item);
        }