Example #1
0
        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()
            });
        }
Example #2
0
        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));
        }