Пример #1
0
        public async Task <IActionResult> Register(UserRegistrationModelDto model)
        {
            try
            {
                if (_signInManager.IsSignedIn(User))
                {
                    return(BadRequest("Already logged in"));
                }
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                var user = new ApplicationUser
                {
                    UserName = model.Username,
                    Name     = model.Name,
                    Surname  = model.Surname
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    return(Ok("Registered"));
                }
                return(BadRequest(result.Errors));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Пример #2
0
        public async Task <IActionResult> Login(UserLoginModelDto model)
        {
            try
            {
                if (_signInManager.IsSignedIn(User))
                {
                    return(BadRequest("Already logged in"));
                }
                var loginResult = await _signInManager.PasswordSignInAsync(model.Username, model.Password, false, false);

                if (loginResult.Succeeded)
                {
                    var user = await _userManager.FindByNameAsync(model.Username);

                    var result = new UserRegistrationModelDto
                    {
                        Id       = user.Id,
                        Username = user.UserName,
                        Name     = user.Name,
                        Surname  = user.Surname
                    };
                    return(Ok(result));
                }
                return(BadRequest("Couldn't log in"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Пример #3
0
        public async Task <IActionResult> IsAuthenticated()
        {
            var user = await _userManager.FindByIdAsync(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            var result = new UserRegistrationModelDto
            {
                Id       = user.Id,
                Username = user.UserName,
                Name     = user.Name,
                Surname  = user.Surname
            };

            return(Ok(result));
        }