public async Task <ActionResult <UsuarioConToken> > Register(Usuario usuario) { usuario.Password = BCrypt.Net.BCrypt.HashPassword(usuario.Password); var u = context.Usuarios.Where(x => x.Email == usuario.Email || x.Username == usuario.Username).FirstOrDefault(); if (u != null) { if (u.Email == usuario.Email) { return(BadRequest("Este correo ya esta registrado")); } return(BadRequest("Este nombre de usuario ya esta registrado")); } context.Usuarios.Add(usuario); await context.SaveChangesAsync(); usuario.Password = null; UsuarioConToken usuarioConToken = new UsuarioConToken { usuario = usuario, token = GetNewTokenString(usuario) }; return(CreatedAtAction("GetUsuario", new { id = usuario.Id }, usuarioConToken)); }
public async Task <ActionResult <IEnumerable <UsuarioConToken> > > Login([FromBody] UsuarioAuth usuario) { var _usuario = await context.Usuarios .Where(x => x.Email == usuario.Email) .FirstOrDefaultAsync(); if (_usuario == null || !BCrypt.Net.BCrypt.Verify(usuario.Password, _usuario.Password)) { return(Unauthorized("Credenciales invalidas")); } _usuario.Password = null; UsuarioConToken usuario_con_token = new UsuarioConToken() { usuario = _usuario, token = GetNewTokenString(_usuario), }; return(Ok(usuario_con_token)); }