public async Task <ActionResult <TokenViewModel> > PostAsync([FromBody] TokenInputModel inputModel)
        {
            if (inputModel == null)
            {
                return(BadRequest());
            }

            try
            {
                var result = await _provider.GenerateTokenAsync(inputModel.Email, inputModel.Password);

                return(Ok(result));
            }
            catch (ArgumentException e)
            {
                return(Unauthorized(e.Message));
            }
        }
        public Task <ActionResult <TokenViewModel> > PostAsync([FromServices] TokenProvider provider, [FromBody] UserInputModel inputModel)
        => ExecuteAsync <TokenViewModel>(async() =>
        {
            var sex = Gender.NotDisclosed;

            if (inputModel.Gender.ToUpper() == "Masculino".ToUpper())
            {
                sex = Gender.Male;
            }

            if (inputModel.Gender.ToUpper() == "Feminino".ToUpper())
            {
                sex = Gender.Female;
            }

            var user = new User(inputModel.Name, inputModel.Email, inputModel.Password, inputModel.BirthDate, sex);
            await _usersRepository.AddAsync(user);
            await AddDefaultOptionsAsync(user);

            var result = await provider.GenerateTokenAsync(inputModel.Email, inputModel.Password);

            return(Ok((TokenViewModel)result));
        });
Ejemplo n.º 3
0
 private async Task <object> CreateToken(ClaimsPrincipal principal)
 {
     return(await _tokenProvider.GenerateTokenAsync(principal));
 }