public User Authentificate(Authentification auth) { User result = null; User user = FindUserByEmail(auth.Email); if (user != null) { HashPassword hashPassword = new HashPassword(); if (user.Password == hashPassword.HashedPass(auth.Password)) { var key = Encoding.ASCII.GetBytes(_appsettings.Secret); var jwtToken = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.Id.ToString()), new Claim(ClaimTypes.Role, user.Role) }), Expires = DateTime.UtcNow.AddDays(2), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(jwtToken); user.Token = tokenHandler.WriteToken(token); result = user; } } return(result); }
public User Register(User user) { User result = null; if (FindUserByEmail(user.Email) == null) { var hashPassword = new HashPassword(); user.Password = hashPassword.HashedPass(user.Password); _users.InsertOne(new User(user)); result = FindUserByEmail(user.Email); } return(result); }