public IActionResult RefreshToken(string refToken) { //check refresh token in db User user = _dbService.GetUserByRefreshToken(refToken); if (user != null) { var claims = new[] { new Claim(ClaimTypes.Name, user.Username), new Claim(ClaimTypes.Role, user.Role), }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["SecretKey"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken ( issuer: "Gakko", audience: "Students", claims: claims, expires: DateTime.Now.AddMinutes(10), signingCredentials: creds ); return(Ok(new { accessToken = new JwtSecurityTokenHandler().WriteToken(token), refreshToken = Guid.NewGuid() } )); } else { return(BadRequest()); } }