public async Task <IActionResult> Post([FromBody] ApiUserModel model) { if (model == null) { return(BadRequest("Failed: HTTP request body is required.")); } if (model.Password == null) { return(BadRequest("Failed: Password is required.")); } var user = new ApplicationUser { UserName = model.UserName, Email = model.Email }; var result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(BadRequest(result.ToString())); } var token = await _signIn.GenerateJwtTokenAsync(user); ApiUserModel response = new ApiUserModel { Token = token, Email = user.Email, Id = user.Id, UserName = user.UserName }; _telemetryClient.TrackEvent("User created."); return(Ok(response)); }
public async Task <IActionResult> Post([FromBody] ApiUserModel model) { if (model == null) { return(BadRequest("Failed: HTTP request body is required.")); } var signIn = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, false, false); if (signIn.Succeeded) { var appUser = _userManager.Users.SingleOrDefault(r => r.UserName == model.UserName); string token = await _signIn.GenerateJwtTokenAsync(appUser); var result = new ApiUserModel { Token = token, Id = appUser.Id, UserName = appUser.UserName, Email = appUser.Email }; _telemetryClient.TrackEvent("Successful login."); return(Ok(result)); } _telemetryClient.TrackEvent("Failed login."); return(Unauthorized()); }