public async Task <TokenAuthentication.Models.Token> RefreshTokenLogin([FromForm] string refreshToken) { User user = await _context.Users.FirstOrDefaultAsync(x => x.RefreshToken == refreshToken); if (user != null && user?.RefreshTokenEndDate > DateTime.Now) { TokenHandler tokenHandler = new TokenHandler(_configuration); TokenAuthentication.Models.Token token = tokenHandler.CreateAccessToken(user); user.RefreshToken = token.RefreshToken; user.RefreshTokenEndDate = token.Expiration.AddMinutes(3); await _context.SaveChangesAsync(); return(token); } return(null); }
public async Task <TokenAuthentication.Models.Token> Login([FromForm] UserLogin userLogin) { User user = await _context.Users.FirstOrDefaultAsync(x => x.Email == userLogin.Email && x.Password == userLogin.Password); if (user != null) { //Token üretiliyor. TokenHandler tokenHandler = new TokenHandler(_configuration); TokenAuthentication.Models.Token token = tokenHandler.CreateAccessToken(user); //Refresh token Users tablosuna işleniyor. user.RefreshToken = token.RefreshToken; user.RefreshTokenEndDate = token.Expiration.AddMinutes(3); await _context.SaveChangesAsync(); return(token); } return(null); }