public async Task <IActionResult> Register([FromBody] LoginParameters login) { //ViewData["ReturnUrl"] = returnUrl; //if (ModelState.IsValid) //{ var user = new IdentityUser { UserName = login.Email, Email = login.Email }; var result = await _userManager.CreateAsync(user, login.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); //var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); //var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme); //await _emailSender.SendEmailConfirmationAsync(login.Email, callbackUrl); //await _signInManager.SignInAsync(user, isPersistent: false); //_logger.LogInformation("User created a new account with password."); //return RedirectToLocal(returnUrl); } //AddErrors(result); //} // If we got this far, something failed, redisplay form return(Ok()); }
public async Task <IActionResult> GenerateToken([FromBody] LoginParameters login) { if (login.Email != null || login.Password != null) { var user = await _userManager.FindByEmailAsync(login.Email); if (user != null) { var result = await _signInManager.CheckPasswordSignInAsync(user, login.Password, false); if (result.Succeeded) { var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, user.Email), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Tokens:Key"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken(_config["Tokens:Issuer"], _config["Tokens:Issuer"], claims, expires: DateTime.Now.AddDays(30), signingCredentials: creds); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } else { return(NotFound(new { error = "" })); } } else { return(NotFound()); } } return(BadRequest("Could not create token")); }