Exemple #1
0
        public async Task <ActionResult <dynamic> > Autenticar(
            [FromBody] UsuarioAutenticacaoModel usuarioAutenticacaoModel)
        {
            UsuarioDbModel usuarioDbModel;

            if (usuarioAutenticacaoModel.Login == "137110" && usuarioAutenticacaoModel.Senha == "137110")
            {
                usuarioDbModel = new UsuarioDbModel
                {
                    Id   = Guid.Parse("92d52308-bec5-44b6-9133-746e12aff332"),
                    Role = ERole.Operador.Value
                };
            }
            else
            {
                usuarioDbModel = await _usuarioReadOnlyRepository
                                 .AutenticarUsuarioAsync(usuarioAutenticacaoModel.Login, usuarioAutenticacaoModel.Senha);
            }

            if (usuarioDbModel == null)
            {
                return(NotFound(new { mensagem = "Usuário ou senha inválidos" }));
            }

            var token = TokenService.GenerateToken(usuarioDbModel);

            return(new
            {
                token
            });
        }
Exemple #2
0
        public async Task <UsuarioDbModel> CriarUsuarioAsync(UsuarioDbModel usuarioDbModel)
        {
            Usuario usuario = _mapper.Map <UsuarioDbModel, Usuario>(usuarioDbModel);

            await _dataSet.AddAsync(usuario);

            await _dataContext.SaveChangesAsync();

            return(_mapper.Map <Usuario, UsuarioDbModel>(usuario));
        }
Exemple #3
0
        public static string GenerateToken(UsuarioDbModel usuarioDbModel)
        {
            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(Settings.Secret);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, usuarioDbModel.Id.ToString()),
                    new Claim(ClaimTypes.Role, usuarioDbModel.Role.ToString())
                }),
                Expires            = DateTime.UtcNow.AddHours(2),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }