private object GenerateToken(string login) { var claims = new[] { new Claim(ClaimTypes.Name, login), 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: "s18660", audience: "Students", claims: claims, expires: DateTime.Now.AddMinutes(5), signingCredentials: creds ); var newRefreshToken = Guid.NewGuid(); _dbService.AddRefreshToken(newRefreshToken, login); return(new { accessToken = new JwtSecurityTokenHandler().WriteToken(token), refreshToken = newRefreshToken }); }
public IActionResult Login(LoginRequest request) { if (!SqlDbService.validReq(request)) { return(Unauthorized()); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, "1"), new Claim(ClaimTypes.Name, "login"), new Claim(ClaimTypes.Role, "admin"), new Claim(ClaimTypes.Role, "student"), 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: "s18533", audience: "Students", claims: claims, expires: DateTime.Now.AddMinutes(10), signingCredentials: creds ); var refToken = Guid.NewGuid(); _dbService.AddRefreshToken(refToken, request.indexNum); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token), refreshToken = refToken })); }