Exemple #1
0
        public async Task <IActionResult> RegisterAsync([FromBody] UserRegistrationModel model)
        {
            if (!ModelState.IsValid)
            {
                //чтото придумать с ошибками , автоматом возращается ModelState.errors
                return(BadRequest());
            }
            // если все ок то маппим нашу вьюху в юзера
            var user = mapper.Map <User>(model);

            try
            {
                await userManager.AddUser(user, model.Password);

                var token = await tokenGenerator.GenerateJwtTokenAsync(user);

                //вписываем рефреш токен для юзера
                //await userManager.AddUserTokenAsync(user.Id, token.Refresh);
                return(Ok(token));
            }
            catch (Exception ex)
            {
                // TODO общий класс ошибок
                return(BadRequest(new { error = ex.Message }));
            }
        }
        public async Task <IActionResult> IndexAsync()
        {
            var user = await userRepository.GetUser("Samurai");

            var tokenString = await tokenGenerator.GenerateJwtTokenAsync(user);

            // пока херачим в контролере , потом в сервис уберем нормальное создание временное решение
            var myToken = new TokenDTO {
                AcceseToken = tokenString
            };

            return(Ok(myToken));
            //return Ok(options.Value);
        }