public IActionResult RefreshToken(string refToken) { if (!_service.CheckToken(refToken)) { return(Ok("No such token")); } var newToken = CreateToken(); var newRefToken = Guid.NewGuid(); _service.ChangeToken(refToken, newRefToken.ToString()); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(newToken), refreshToken = newRefToken })); }
public IActionResult RefreshToken(string refToken) { if (!_dbService.CheckToken(Guid.Parse(refToken))) { return(StatusCode(401)); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, "ja0101"), new Claim(ClaimTypes.Name, "user"), new Claim(ClaimTypes.Role, "employee") }; 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 ); var refreshToken = Guid.NewGuid(); _dbService.UpdateToken(Guid.Parse(refToken), refreshToken); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token), refreshToken = refToken })); }