コード例 #1
0
        public IActionResult Add([FromBody] UsuarioAuthDto dto)
        {
            if (dto == null)
            {
                return(BadRequest(StatusCodes.Status406NotAcceptable));
            }

            byte[] passwordHash, passwordSalt;
            CrearPassword(dto.Password, out passwordHash, out passwordSalt);


            var user = new UsuarioDto();

            user.PasswordHash = passwordHash;
            user.PasswordSalt = passwordSalt;
            user.Email        = dto.Email;

            var u = mapper.Map <Usuario>(user);

            if (!repository.Add(u))
            {
                return(BadRequest(this.response.ResponseValues(StatusCodes.Status500InternalServerError, null, $"Algo salió mal guardar el registro: {user.Email}")));
            }

            return(Ok(this.response.ResponseValues(this.Response.StatusCode, mapper.Map <UsuarioDto>(this.repository.GetById(u.Id)))));
        }
        public IActionResult Registro(UsuarioAuthDto usuarioAuthDto)
        {
            if (UsuarioRepository.ExisteUsuario(usuarioAuthDto.Usuario))
            {
                return(BadRequest("El usuario ya existe"));
            }

            var usuarioACrear = new Usuario
            {
                NumeroDeEmpleado = usuarioAuthDto.NumeroDeEmpleado,
                UsuarioAcceso    = usuarioAuthDto.Usuario
            };

            var usuarioCreado = UsuarioRepository.Registro(usuarioACrear, usuarioAuthDto.Password);

            return(Ok(usuarioCreado));
        }
コード例 #3
0
        public IActionResult Registro(UsuarioAuthDto usuarioAuthDto)
        {
            usuarioAuthDto.Usuario = usuarioAuthDto.Usuario.ToLower();

            if (_usuarioRepository.ExisteUsuario(usuarioAuthDto.Usuario))
            {
                return(BadRequest("El usuario ya existe"));
            }
            var usuarioACrear = new Usuario
            {
                UsuarioA = usuarioAuthDto.Usuario
            };

            var usuarioCreado = _usuarioRepository.Registro(usuarioACrear, usuarioAuthDto.Password);

            return(Ok(usuarioCreado));
        }
コード例 #4
0
        public IActionResult Login([FromBody] UsuarioAuthDto dto)
        {
            if (dto == null)
            {
                return(Unauthorized());
            }

            var user = repository.GetByValues(x => x.Email == dto.Email).FirstOrDefault();

            if (!ValidatePassword(dto.Password, user.PasswordHash, user.PasswordSalt))
            {
                return(Unauthorized());
            }

            var claims = new[]
            {
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                new Claim(ClaimTypes.Name, user.Email.ToString())
            };

            var key         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(config.GetSection("AppSettings:Token").Value));
            var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = credentials
            };

            var tokenHandler = new JwtSecurityTokenHandler();
            var token        = tokenHandler.CreateToken(tokenDescriptor);

            return(Ok(new
            {
                token = tokenHandler.WriteToken(token)
            }));;
        }