Beispiel #1
0
        public IActionResult Post([FromBody] LoginRequest loginRequest)
        {
            var userInfo = userPersistence.Login(loginRequest.Username, loginRequest.Password);

            if (userInfo.Id == default(Guid))
            {
                return(BadRequest());
            }

            var token = new JwtSecurityToken(
                issuer: configuration["Jwt:Issuer"],
                audience: configuration["Jwt:Audience"],
                claims: new[]
            {
                new Claim(ClaimTypes.Name, userInfo.FirstName),
                new Claim(ClaimTypes.NameIdentifier, userInfo.Username),
                new Claim("UserId", userInfo.Id.ToString())
            },
                expires: DateTime.Now.AddDays(30),
                signingCredentials: new SigningCredentials(new SymmetricSecurityKey(Encoding.ASCII.GetBytes(configuration["Jwt:SecurityKey"])), SecurityAlgorithms.HmacSha256)
                );

            return(Ok(new
            {
                AccessToken = new JwtSecurityTokenHandler().WriteToken(token)
            }));
        }
Beispiel #2
0
        public bool Login(string password, string mail)
        {
            try
            {
                byte[] data = System.Text.Encoding.ASCII.GetBytes(password);
                data     = new System.Security.Cryptography.SHA256Managed().ComputeHash(data);
                password = System.Text.Encoding.ASCII.GetString(data);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            bool success = userPersistence.Login(password, mail);

            return(success);
        }