public async Task <ActionResult> ForgetPasswordAsync(string email) { if (String.IsNullOrEmpty(email)) { return(NotFound()); } var user = await _manger.FindByEmailAsync(email); //Generate Link if (user == null) { return(NotFound()); } //http://localhost:60761/Account/RegistertionConfirm?ID=449448&Token=hids56sfs var token = await _manger.GeneratePasswordResetTokenAsync(user); //var confirmLinkAsp = Url.Action("RegistertionConfirm", "Account", new //{ ID = user.Id, Token = HttpUtility.UrlEncode(token) }, Request.Scheme); var encodeToken = Encoding.UTF8.GetBytes(token); var newToken = WebEncoders.Base64UrlEncode(encodeToken); var confirmLink = $"http://localhost:4200/passwordconfirm?ID={user.Id}&Token={newToken}"; //SendGridAPI var subject = "Forget Password"; var content = "Please Confirm your password"; var htmlContent = "<a href = \"" + confirmLink + "\"> Confirm Password</a>"; if (await SendGridAPI.Execute(user.Email, user.UserName, subject, content, htmlContent)) { return(new ObjectResult(new { token = newToken })); } return(StatusCode(StatusCodes.Status400BadRequest)); }
public async Task <IActionResult> ForgetPassword(string email) { if (email == null) { return(NotFound()); } var user = await _manager.FindByEmailAsync(email); if (user == null) { return(NotFound()); } var token = await _manager.GeneratePasswordResetTokenAsync(user); var encodeToken = Encoding.UTF8.GetBytes(token); var newToken = WebEncoders.Base64UrlEncode(encodeToken); var confirmLink = $"http://localhost:4200/passwordconfirm?ID={user.Id}&Token={newToken}"; var txt = "Please confirm password"; var link = "<a href=\"" + confirmLink + "\">Passowrd confirm</a>"; var title = "Passowrd confirm"; if (await SendGridAPI.Execute(user.Email, user.UserName, txt, link, title)) { return(new ObjectResult(new { token = newToken })); } return(StatusCode(StatusCodes.Status400BadRequest)); }
public async Task <IActionResult> Register(RegisterModel model) { if (model == null) { return(NotFound()); } if (ModelState.IsValid) { if (EmailExistes(model.Email)) { return(BadRequest("Email is used")); } if (!IsEmailValid(model.Email)) { return(BadRequest("Email not valid!!")); } if (UserNameExistes(model.UserName)) { return(BadRequest("UserName is used")); } var user = new ApplicationUser { Email = model.Email, UserName = model.UserName }; var result = await _manager.CreateAsync(user, model.Password); if (result.Succeeded) { ////http://localhost:58314/Account/RegistrationConfirm?ID=545435&Token=5435354gw34523 var token = await _manager.GenerateEmailConfirmationTokenAsync(user); var encodeToken = Encoding.UTF8.GetBytes(token); var newToken = WebEncoders.Base64UrlEncode(encodeToken); var confirmLink = $"http://localhost:4200/registerconfirm?ID={user.Id}&Token={newToken}"; var txt = "Please confirm your registration at our sute"; var link = "<a href=\"" + confirmLink + "\">Confirm registration</a>"; var title = "Registration Confirm"; if (await SendGridAPI.Execute(user.Email, user.UserName, txt, link, title)) { return(StatusCode(StatusCodes.Status200OK)); } } else { return(BadRequest(result.Errors)); } } return(StatusCode(StatusCodes.Status400BadRequest)); }
public async Task <IActionResult> Register(RegisterModel model) { if (model == null) { return(NotFound()); } if (ModelState.IsValid) { var newUser = new ApplicationUser(); newUser.Email = model.Email; newUser.UserName = model.UserName; var result = await _manger.CreateAsync(newUser, model.Password); if (result.Succeeded) { //Generate Link //http://localhost:60761/Account/RegistertionConfirm?ID=449448&Token=hids56sfs var token = await _manger.GenerateEmailConfirmationTokenAsync(newUser); //var confirmLinkAsp = Url.Action("RegistertionConfirm", "Account", new //{ ID = newUser.Id, Token = HttpUtility.UrlEncode(token) }, Request.Scheme); var encodeToken = Encoding.UTF8.GetBytes(token); var newToken = WebEncoders.Base64UrlEncode(encodeToken); var confirmLink = $"http://localhost:4200/registerconfirm?ID={newUser.Id}&Token={newToken}"; //SendGridAPI var subject = "Registertion Confirm"; var content = "Please Confirm your registertion in our site"; var htmlContent = "<a href = \"" + confirmLink + "\"> Confirm Registrion</a>"; if (await SendGridAPI.Execute(newUser.Email, newUser.UserName, subject, content, htmlContent)) { return(StatusCode(StatusCodes.Status200OK)); } } else { return(BadRequest(result.Errors)); } } return(StatusCode(StatusCodes.Status400BadRequest)); }