public async Task <IActionResult> Register(AppUserRegisterDto model) { if (ModelState.IsValid) { AppUser user = new AppUser { Name = model.Name, Surname = model.Surname, UserName = model.UserName, Email = model.Email }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { var addRoleResult = await _userManager.AddToRoleAsync(user, "Member"); if (addRoleResult.Succeeded) { return(RedirectToAction("Index")); } AddError(addRoleResult.Errors); } AddError(result.Errors); } return(View(model)); }
public async Task <IActionResult> Register(AppUserRegisterDto appUserRegisterDto) { if (ModelState.IsValid) { var user = await _userManager.FindByEmailAsync(appUserRegisterDto.Email); if (user == null) { var newUser = new AppUser() { Firstname = appUserRegisterDto.Name, Lastname = appUserRegisterDto.Lastname, Email = appUserRegisterDto.Email, UserName = appUserRegisterDto.Email }; var result = await _userManager.CreateAsync(newUser, appUserRegisterDto.Password); if (result.Succeeded) { return(View("Login")); } foreach (var item in result.Errors) { ModelState.AddModelError("", item.Description); } } ModelState.AddModelError("", "Kullanıcı sistemde zaten kayıtlı!"); } return(View(appUserRegisterDto)); }
public async Task <IActionResult> Login([FromBody] AppUserRegisterDto appUserRegisterDto) { var appUser = await _service.Login(appUserRegisterDto.UserName.ToLower(), appUserRegisterDto.Password); if (appUser == null) { return(Unauthorized()); } //generate token var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_config.GetSection("AppSettings:Token").Value); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, appUser.ID.ToString()), new Claim(ClaimTypes.Name, appUser.Username) }), Expires = DateTime.Now.AddDays(1), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha512Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); var tokenString = tokenHandler.WriteToken(token); return(Ok(new { tokenString })); }
public async Task <IActionResult> Register(AppUserRegisterDto model) { if (ModelState.IsValid) { AppUser appUser = new AppUser() { FirstName = model.FirstName, Lastaname = model.Lastaname, Age = model.Age, Email = model.Email, UserName = model.Username, }; var result = await _userManager.CreateAsync(appUser, model.Password); if (result.Succeeded) { var role = await _userManager.AddToRoleAsync(appUser, "Member"); if (role.Succeeded) { return(RedirectToAction("/Home/Login")); } else { foreach (var item in role.Errors) { ModelState.AddModelError("", item.Description); } } } else { foreach (var item in result.Errors) { ModelState.AddModelError("", item.Description); } } } return(View()); }
public async Task <IActionResult> Register(AppUserRegisterDto model) { if (ModelState.IsValid) { var user = _mapper.Map <AppUser>(model); var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(user, "Member"); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var url = Url.Action("ConfirmAccount", "Dashboard", new { Area = "", userId = user.Id, token = code }); await _emailSender.EmailSenderAsycn(model.Email, $"Hesap Doğrulama", $"Lütfen hesabınızı onaylamak için <a href='websiteadress{url}'>buraya</a> tıklayınız!"); return(RedirectToAction("Index", "User", new { area = "Admin" })); } } return(View(model)); }
public async Task <IActionResult> Register([FromBody] AppUserRegisterDto appUserRegisterDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } appUserRegisterDto.UserName = appUserRegisterDto.UserName.ToLower(); if (await _service.UserExsists(appUserRegisterDto.UserName)) { return(BadRequest("Username is already taken")); } else { var userToCreate = new AppUser { Username = appUserRegisterDto.UserName }; var createUser = await _service.Register(userToCreate, appUserRegisterDto.Password); } return(StatusCode(201)); }
public IActionResult Register() { var model = new AppUserRegisterDto(); return(View(model)); }