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)); }
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)); }
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)); }
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)); }