Beispiel #1
0
        public async Task <ActionResult <UserAuthVm> > Login(UserIm input)
        {
            var result = await this.identity.Login(input);

            if (!result.Succeeded)
            {
                return(BadRequest(result.Errors)); // Unauthorized();
            }

            return(new UserAuthVm(result.Data.Id, result.Data.Token));
        }
Beispiel #2
0
        public async Task <ActionResult <UserAuthVm> > Register(UserIm input)
        {
            var result = await this.identity.Register(input);

            if (!result.Succeeded)
            {
                return(BadRequest(result.Errors));
            }

            return(await Login(input));
        }
Beispiel #3
0
        public async Task <Result <User> > Register(UserIm input)
        {
            var user = new User
            {
                Email    = input.Email,
                UserName = input.Email
            };

            var result = await this.userManager.CreateAsync(user, input.Password);

            var errors = result.Errors.Select(e => e.Description);

            return(result.Succeeded
                ? Result <User> .SuccessWith(user)
                : Result <User> .Failure(errors));
        }
Beispiel #4
0
        public async Task <Result <UserAuthVm> > Login(UserIm input)
        {
            var user = await this.userManager.FindByEmailAsync(input.Email);

            if (user == null)
            {
                return(InvalidErrorMessage);
            }

            var passwordValid = await this.userManager.CheckPasswordAsync(user, input.Password);

            if (!passwordValid)
            {
                return(InvalidErrorMessage);
            }

            var roles = await this.userManager.GetRolesAsync(user);

            var token = this.jwtTokenGenerator.GenerateToken(user, roles);

            return(new UserAuthVm(user.Id, token));
        }