public async Task <IActionResult> Register([FromBody] AccountView model) { IdentityUser user = new IdentityUser { UserName = model.Name }; var result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } return(BadRequest(ModelState.Keys.SelectMany(k => ModelState[k].Errors) .Select(m => m.ErrorMessage).ToArray())); } await _signInManager.SignInAsync(user, false); string token = GetToken(model.Name); _gameService.SelectPlayer(model.Name); var response = new AccountResponseView { Name = model.Name, Token = token }; return(Ok(response)); }
public async Task <IActionResult> Login([FromBody] AccountView model) { var result = await _signInManager.PasswordSignInAsync(model.Name, model.Password, false, false); if (!result.Succeeded) { ModelState.AddModelError("", "Incorrect username and / or password"); return(BadRequest(ModelState.Keys.SelectMany(k => ModelState[k].Errors) .Select(m => m.ErrorMessage).ToArray())); } string token = GetToken(model.Name); var response = new AccountResponseView { Name = model.Name, Token = token }; return(Ok(response)); }