public async Task <IActionResult> Register([FromBody] RegisterLoginRequest loginRequest) { var email = loginRequest.Email; var password = loginRequest.Password; if (User.Identity.IsAuthenticated) { return(new ObjectResult(new { success = false, reason = "already logged in" })); } var user = await _userManager.FindByEmailAsync(email); if (user != null) { return(new ObjectResult(new { success = false, reason = "already registered" })); } else { user = new IdentityUser(email); user.Email = email; var result = await _userManager.CreateAsync(user, password); if (result.Succeeded) { await _signInManager.SignInAsync(user, true); return(new ObjectResult(new { success = true, email = user.Email })); } else { return(new ObjectResult(new { success = false, reason = result.Errors.ToString() })); } } }
public async Task <IActionResult> Login([FromBody] RegisterLoginRequest loginRequest) { var email = loginRequest.Email; var password = loginRequest.Password; if (User.Identity.IsAuthenticated) { return(new ObjectResult(new { success = true, reason = "already logged in", email = email })); } var user = await _userManager.FindByEmailAsync(email); if (user == null) { return(new ObjectResult(new { success = false, reason = "not found" })); } else { await _signInManager.PasswordSignInAsync(user, password, true, false); return(new ObjectResult(new { success = true, email = user.Email })); } }