hemvall / Heracles

Store your sports performances and track your progression either in the gym, running and even boxing.
https://heracle.me/
5 stars 0 forks source link

Crypter mot de passe #11

Closed hemvall closed 11 months ago

hemvall commented 1 year ago
hemvall commented 1 year ago

using BCrypt.Net;

static string HashPassword(string password) { return BCrypt.Net.BCrypt.HashPassword(password); }

static bool VerifyPassword(string password, string hashedPassword) { return BCrypt.Net.BCrypt.Verify(password, hashedPassword); }

hemvall commented 1 year ago

app.MapPost("/auth/login", ([FromBody] AddUserRequest credentials, [FromServices] ILanguageRepository userRepository) => { User user = userRepository.IsUserAuthenticated(credentials.Mail, credentials.PasswordHash); string hashedPassword = HashPassword(credentials.PasswordHash); return VerifyPassword(credentials.PasswordHash.ToString(), user.PasswordHash) && user != null ? Results.Ok(user) : Results.Unauthorized(); });

    public User IsUserAuthenticated(string mail, string passwordHash)
    {
        User user= _context.Users.Where(x => x.Mail == mail).Single();
        if (user != null)
        {
            user.LastConnection = DateTime.Now;
            _context.SaveChanges();
            return user;
        }
        else
        {
            return null;
        }
    }
hemvall commented 11 months ago

app.MapPost("/user/add", ([FromBody] AddUserRequest user, [FromServices] ILanguageRepository repository) => { int userId = repository.AddUser(new Mr.Octopus.Domain.Models.User { RoleId = user.RoleId, Name = user.Name, LastName = user.LastName, Username = user.Name[0].ToString().ToLower() + user.LastName.ToLower(), Initials = user.Name[0].ToString().ToUpper() + user.LastName[0].ToString().ToString(), Icon = "", Mail = user.Mail, PasswordHash = HashPassword(user.PasswordHash), IsAllowed = true, LastConnection = DateTime.Now }); return Results.Created($"/user/{userId}", userId); });