public LoginResponse Login(IConfiguration configuration, LoginRequestStudent request) { using (var con = new SqlConnection(ConString)) using (var com = new SqlCommand()) { com.Connection = con; con.Open(); try { com.CommandText = "Select * from student where indexNumber = @indexNumber and password = @password"; com.Parameters.AddWithValue("indexNumber", request.IndexNumber); com.Parameters.AddWithValue("password", request.Password); var dr = com.ExecuteReader(); if (!dr.Read()) { throw new ArgumentException("Brak takich danych w bazie."); } } catch (SqlException ex) { throw new ArgumentException(ex.Message); } } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, request.IndexNumber), new Claim(ClaimTypes.Name, request.Password), }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(configuration["SecretKey"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: "Student", audience: "Gakko", claims: claims, expires: DateTime.Now.AddMinutes(10), signingCredentials: creds ); return(new LoginResponse { token = new JwtSecurityTokenHandler().WriteToken(token), refreshToken = Guid.NewGuid() }); }
public IActionResult Login(LoginRequestStudent request) { LoginResponse response; try { response = _dbService.Login(Configuration, request); Console.WriteLine("co sie dzieje"); }catch (ArgumentException ex) { return(BadRequest(ex.Message)); } return(Ok(response)); }