Ejemplo n.º 1
0
        public async Task <IActionResult> Register(RegisterResource model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }

                var user = new ApplicationUser
                {
                    FirstName   = model.FirstName,
                    LastName    = model.LastName,
                    Email       = model.Email,
                    DateCreated = DateTime.Now,
                    UserName    = model.Email
                };

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

                if (result.Succeeded)
                {
                    var userInDb = GetUser(user.Email);
                    // await _signInManager.SignInAsync(user, false);
                    var authData = new AuthDataResource
                    {
                        Token      = await GenerateJwtToken(userInDb),
                        UserId     = userInDb.Id,
                        ExpireTime = DateTime.Now.AddHours(Convert.ToDouble(_configuration["JwtExpireHours"])),
                        FirstName  = userInDb.FirstName,
                        LastName   = userInDb.LastName
                    };

                    return(Ok(authData));
                }
                AddErrors(result);
            }
            catch (Exception e)
            {
                return(BadRequest("Somwthing Gone Wrong"));
            }

            return(BadRequest());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> LogIn(LoginResource model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }

                var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, false, false);

                if (!result.Succeeded)
                {
                    return(BadRequest("Wrong username or password"));
                }

                var user  = _userManager.Users.SingleOrDefault(x => x.UserName == model.UserName);
                var roles = await _userManager.GetRolesAsync(user);

                if (user == null)
                {
                    return(BadRequest("Something gone wrong"));
                }

                var authData = new AuthDataResource
                {
                    Token      = GenerateJwtToken(user, roles),
                    Id         = user.Id,
                    ExpireTime = DateTime.Now.AddHours(Convert.ToDouble(_configuration["JwtExpireDays"])),
                    Roles      = roles,

                    Name = user.FullName + " [" + user.UserName + "]"
                };

                return(Ok(authData));
            }
            catch (Exception e)
            {
                // ignored
            }

            return(BadRequest("Something gone wrong"));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> LogIn(LoginResource model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }

                var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, false, false);

                if (!result.Succeeded)
                {
                    return(BadRequest("Wrong username or password"));
                }

                var user = GetUser(model.UserName);

                var authData = new AuthDataResource
                {
                    Token      = await GenerateJwtToken(user),
                    UserId     = user.Id,
                    ExpireTime = DateTime.Now.AddHours(Convert.ToDouble(_configuration["JwtExpireHours"])),
                    FirstName  = user.FirstName,
                    LastName   = user.LastName
                };

                return(Ok(authData));
            }
            catch (Exception e)
            {
                // ignored
            }

            return(BadRequest("Somthing gone wrong"));
        }