public async Task<IActionResult> RegisterUser([FromBody] RegisterUserModel model) { if (await userManager.FindByEmailAsync(model.Email) != null) { return BadRequest("User already exists"); } var invitation = await invitationProvider.GetInvitation(model.InvitationId); if (invitation == null) { return BadRequest("Invitation not found"); } var identityResult = await userManager.CreateAsync(new ApplicationUser { UserName = model.Email, Email = model.Email }, model.Password); if (!identityResult.Succeeded) return BadRequest("Something went wrong!"); var user = await userManager.FindByEmailAsync(model.Email); await usersProvider.AddPerson(new Person { Id = user.Id, ApplicationUserId = user.Id, FirstName = model.FirstName, LastName = model.LastName, CompanyId = invitation.CompanyId }); await invitationProvider.DeleteInvitation(model.InvitationId); // var token = await userManager.GenerateEmailConfirmationTokenAsync(user); // await emailProvider.SendConfirmEmail(user, token); var appToken = await jwtFactory.GenerateEncodedToken(user); var newRefreshToken = jwtFactory.GenerateRefreshToken(); user.RefreshToken = newRefreshToken; await userManager.UpdateAsync(user); return new ObjectResult(new { token = appToken, refreshToken = newRefreshToken }); }