Ejemplo n.º 1
0
        public string GenerarToken(Dtos.DatosLoginDto dto)
        {
            var _symmetricSecurityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(dto.Secret));
            var _signingCredentials   = new SigningCredentials(_symmetricSecurityKey, SecurityAlgorithms.HmacSha256);
            var _Header = new JwtHeader(_signingCredentials);

            var _Claims = new[] {
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim(JwtRegisteredClaimNames.NameId, dto.IdUsuario.ToString()),
            };

            var _Payload = new JwtPayload(
                issuer: dto.Issuer,
                audience: dto.Audience,
                claims: _Claims,
                notBefore: DateTime.UtcNow,
                // Exipra a la 24 horas.
                expires: DateTime.UtcNow.AddHours(24)
                );

            var _Token = new JwtSecurityToken(
                _Header,
                _Payload
                );

            return(new JwtSecurityTokenHandler().WriteToken(_Token));
        }
Ejemplo n.º 2
0
        public Domain.SA_Usuarios Autenticar(Dtos.DatosLoginDto datosLoginDto)
        {
            var user = this.buscador.GetSAUsuario(datosLoginDto.Usuario, datosLoginDto.Clave, this.DBContext);

            if (user == null)
            {
                return(null);
            }

            datosLoginDto.IdUsuario = user.usu_Id;

            user.usu_Token = this.generadorToken.GenerarToken(datosLoginDto);

            this.DBContext.SaveChanges();

            return(user);
        }
Ejemplo n.º 3
0
        public IActionResult Autenticar(Dtos.SA_UsuariosDto dto)
        {
            this.SetearDBContext(this.serviceSAUsuarios);

            var datosLoginDto = new Dtos.DatosLoginDto
            {
                Usuario  = dto.usu_Usuario,
                Clave    = dto.usu_Clave,
                Secret   = this.secret,
                Issuer   = this.issuer,
                Audience = this.audience
            };

            var user = this.serviceSAUsuarios.Autenticar(datosLoginDto);

            this.DisposeDBContext(this.serviceSAUsuarios.DBContext);

            if (user != null)
            {
                return(Ok(new { token = user.usu_Token }));
            }

            return(StatusCode(401, "Error"));
        }