public async Task<IHttpActionResult> Post([FromBody]RegisterUserModel model) { if (!ModelState.IsValid) return BadRequest(ModelState); var manager = new ApplicationUserManager(new MySqlUserStore<ApplicationUser>()); var user = new ApplicationUser() { UserName = model.UserName, Email = model.Email, PhoneNumber = model.PhoneNumber }; IdentityResult result = await manager.CreateAsync(user, model.Password); if (!result.Succeeded) return GetErrorResult(result); result = await manager.AddToRoleAsync(model.UserName, model.Role); if (!result.Succeeded) return GetErrorResult(result); return Ok(); }
public async Task<IHttpActionResult> RegisterExternal(RegisterExternalBindingModel model) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var info = await Authentication.GetExternalLoginInfoAsync(); if (info == null) { return InternalServerError(); } var user = new ApplicationUser() { UserName = model.Email, Email = model.Email }; IdentityResult result = await UserManager.CreateAsync(user); if (!result.Succeeded) { return GetErrorResult(result); } result = await UserManager.AddLoginAsync(user.Id, info.Login); if (!result.Succeeded) { return GetErrorResult(result); } return Ok(); }
public async Task<IHttpActionResult> Register(RegisterBindingModel model) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var user = new ApplicationUser() { UserName = model.Email, Email = model.Email }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return GetErrorResult(result); } return Ok(); }