public async Task <ActionResult> Login([FromBody] RegistrationModel model) { RetroUser user = await userManager.FindByEmailAsync(model.Email); if (user != null && await userManager.CheckPasswordAsync(user, model.Password)) { var authClaims = new[] { new Claim(JwtRegisteredClaimNames.Sub, user.Id.ToString()), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()) }; var authSigninKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("SecureKey")); var token = new JwtSecurityToken( claims: authClaims, expires: DateTime.Now.AddHours(24) ); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token), expiration = token.ValidTo, id = user.Id.ToString() })); } return(Unauthorized()); }
public async Task <ActionResult> Register([FromBody] RegistrationModel model) { if (ModelState.IsValid && IsValid(model.Email) && IsValid(model.Password)) { RetroUser user = new RetroUser { Email = model.Email, UserName = model.Email, LockoutEnabled = false }; var result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { return(Ok()); } else { return(StatusCode(409)); } } else { return(BadRequest()); } }