コード例 #1
0
        public async Task <ActionResult <object> > Login([FromBody] AuthUserRequestDTO user)
        {
            _logger.LogInformation("Validando usuário");

            var authUser = await _developerService.Auth(user.Cpf, user.Password);

            if (authUser == null)
            {
                return(BadRequest(new AuthUserResponseDTO
                {
                    Authenticated = false,
                    Created = "",
                    Expiration = "",
                    AccessToken = "",
                    Message = "Usuário ou senha incorretos"
                }));
            }

            _logger.LogInformation("Gerando token");
            var token = _tokenService.GenerateToken(authUser);

            DateTime dataCriacao   = DateTime.Now;
            DateTime dataExpiracao = dataCriacao +
                                     TimeSpan.FromSeconds(10000);

            var usuarioResponse = _mapper.Map <Developer, DeveloperResponseDTO>(authUser);

            var retorno = new AuthUserResponseDTO
            {
                Authenticated = true,
                Created       = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss"),
                Expiration    = dataExpiracao.ToString("yyyy-MM-dd HH:mm:ss"),
                AccessToken   = token,
                Developer     = usuarioResponse,
                Message       = "OK"
            };

            return(Ok(retorno));
        }