示例#1
0
        public async Task <IActionResult> Login([FromBody] LoginUserDTO userInfo)
        {
            var user = await _userManager.FindByEmailAsync(userInfo.Email);

            if (user != null)
            {
                var result = await _signInManager.PasswordSignInAsync(user.Email,
                                                                      userInfo.Password, isPersistent : false, lockoutOnFailure : false);

                if (result.Succeeded)
                {
                    var             userDto = _mapper.Map <UsuarioDTO>(user);
                    UsuarioTokenDTO aux     = GeraToken(userDto);
                    await UsuarioRepository.UpdateToken(user, aux.Token);

                    return(Ok(aux));
                }
                else
                {
                    MensagemDTO message = new MensagemDTO("Senha inválida!");
                    return(Unauthorized(message));
                }
            }
            else
            {
                MensagemDTO message = new MensagemDTO("Usuário e/ou senha inválidos");
                return(Unauthorized(message));
            }
        }
示例#2
0
        public async Task <IActionResult> Register([FromBody] RegisterUserDTO userInfo)
        {
            if (await UsuarioRepository.GetByEmailAsync(userInfo.Email) != null)
            {
                MensagemDTO mensagem = new MensagemDTO("Já existe um usuário com esse email cadastrado!");
                return(Conflict(mensagem));
            }

            var user = new Usuario
            {
                UserName             = userInfo.Email,
                Name                 = userInfo.Name,
                Email                = userInfo.Email,
                EmailConfirmed       = true,
                DDD                  = userInfo.Phone.DDD,
                PhoneNumber          = userInfo.Phone.Number,
                PhoneNumberConfirmed = true
            };

            var result = await _userManager.CreateAsync(user, userInfo.Password);

            if (!result.Succeeded)
            {
                MensagemDTO message = new MensagemDTO("Não foi possível registrar esse usuário!");
                return(BadRequest(message));
            }

            await _signInManager.SignInAsync(user, false);

            var userDto = _mapper.Map <UsuarioDTO>(user);

            UsuarioTokenDTO aux = GeraToken(userDto);
            await UsuarioRepository.UpdateToken(user, aux.Token);

            return(Ok(aux));
        }